<!DOCTYPE html>
<!-- saved from url=(0016)http://localhost -->
<html>
  <head>
    <meta charset="utf-8"/>
    <meta content="IE=edge" http-equiv="X-UA-Compatible"/>
    <title>shiro的创建机制</title>
    <style>
        body{
            margin: 0;
        }
        #content-info{
            width: auto;
            margin: 0 auto;
            text-align: center;
        }
        #author-info{
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
        }
        #title{
            text-overflow: ellipsis;
            white-space: nowrap;
            overflow: hidden;
            padding-top: 10px;
            margin-bottom: 2px;
            font-size: 34px;
            color: #505050;
        }
        .text{
            white-space:nowrap;
            text-overflow: ellipsis;
            display: inline-block;
            margin-right: 20px;
            margin-bottom: 2px;
            font-size: 20px;
            color: #8c8c8c;
        }
        #navBar{
            position: fixed;
            right:0;
            bottom: 0;
            background-color: #f0f3f4;
            overflow-y: auto;
            text-align: center;
        }
        #svg-container{
            width: 100%;
            min-width: 0;
            margin: 0 10px;
        }
        #nav-thumbs{
            padding: 0 5px;
        }
        .nav-thumb{
            position: relative;
            margin: 10px auto;
        }
        .nav-thumb >p{
            text-align: center;
            font-size: 12px;
            margin: 4px 0 0 0;
        }
        .nav-thumb >div{
            position: relative;
            display: inline-block;
            border: 1px solid #c6cfd5;
        }
        .nav-thumb img{
            display: block;
        }
        .nav-thumb span{
            pointer-events: none;
        }
        #main-content{
            bottom: 0;
            left: 0;
            right: 0;
            background-color: #d0cfd8;
            display: flex;
            height: auto;
            flex-flow: row wrap;
            text-align:center;
        }
        #svg-container >svg{
            display: block;
            margin:10px auto;
            margin-bottom: 0;
        }
        #copyright{
            bottom: 0;
            left: 50%;
            margin: 5px auto;
            font-size: 16px;
            color: #515151;
        }
        #copyright >a{
            text-decoration: none;
            color: #77C;
        }
        .number{
            position: absolute;
            top:0;
            left:0;
            border-top:22px solid #76838f;
            border-right: 22px solid transparent;
        }
        .pagenum{
            font-size: 12px;
            color: #fff;
            position: absolute;
            top: -23px;
            left: 2px;
        }
        #navBar::-webkit-scrollbar{
            width: 8px;
            background-color: #f5f5f5;
        }
        #navBar::-webkit-scrollbar-track{
            -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.3);
            border-radius: 8px;
            background-color: #fff;
        }
        #navBar::-webkit-scrollbar-thumb{
            border-radius: 8px;
            -webkit-box-shadow: inset 0 0 4px rgba(0,0,0,.3);
            background-color: #6b6b70;
        }
        #navBar::-webkit-scrollbar-thumb:hover{
            background-color: #4a4a4f;
        }
        .nav-thumb >div:hover{
            box-shadow:1px 1px 4px rgba(0,0,0,.4);
        }
        .selected .number{
            border-color: #08a1ef transparent;
        }
</style>
  </head>
  <body>
    <div id="main-area">
      <div id="content-info">
        <div id="title">shiro的创建机制</div>
        <div id="author-info">
         
        </div>
      </div>
      <div id="main-content">
        <div id="svg-container"><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 794" width="1122" height="793" id="page1" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st3 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st7 {fill:#800000;font-size:10.5pt;font-weight:bold}
.st6 {fill:#800000;font-size:10.5pt}
.st2 {fill:#880503;font-size:10.5pt;font-weight:bold}
.st5 {fill:#ffffff;font-family:宋体;font-size:10pt;font-weight:bold}
.st1 {fill:#ffffff;font-family:宋体;font-size:10pt}
.st4 {font-family:SimSun;font-size:9pt}
]]></style><defs/><rect width="1123" height="794" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(487,411)" id="table1"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="17" class="st2">ShiroConfig</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="53.4" x="29">主配置文件</tspan></text></g></g><g transform="translate(303,525)" id="table2"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="13" class="st2">SimpleCookie</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="52.9" x="31" class="st4">cookie对象</tspan></text></g></g><g transform="translate(487,460.5)" id="shape3"><path d="M0,0L-123,0L-123,60.1" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-123,64.5L-120,59.3C-120.9,59.8,-121.9,60.1,-123,60.1C-124.1,60.1,-125.1,59.8,-126,59.3L-123,64.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st3"><tspan y="4.5" x="-33">创建</tspan></text></g><g transform="translate(232,301)" id="table4"><g><path d="M0,0L264,0L264,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="32" class="st2">DefaultWebSecurityManager</tspan></text></g><g><path d="M0,31.9L264,31.9L264,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="52.9" x="75" class="st4">默认web的权限管理器</tspan></text></g></g><g transform="translate(487,427.5)" id="shape5"><path d="M0,0L-123,0L-123,-56.1" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-123,-60.5L-126,-55.3C-125.1,-55.8,-124.1,-56.1,-123,-56.1C-121.9,-56.1,-120.9,-55.8,-120,-55.3L-123,-60.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st3"><tspan y="4.5" x="-33">创建</tspan></text></g><g transform="translate(487,191)" id="table6"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st5"><tspan y="20.9" x="13" class="st6">ShiroDbRealm</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="52.9" x="28" class="st4">自定义realm</tspan></text></g></g><g transform="translate(548,411)" id="shape7"><path d="M0,0L0,-149.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,-154L-3,-148.8C-2.1,-149.3,-1.1,-149.6,0,-149.6C1.1,-149.6,2.1,-149.3,3,-148.8L0,-154" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st3"><tspan y="-15.5" x="-13">创建</tspan></text></g><g transform="translate(430,301)" id="shape8"><path d="M0,0L0,-77L52.6,-77" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M57,-77L51.8,-80C52.3,-79.1,52.6,-78.1,52.6,-77C52.6,-75.9,52.3,-74.9,51.8,-74L57,-77" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st3"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(487,81)" id="table9"><g><path d="M0,0L221,0L221,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="15" class="st2">DefaultWebSessionManager</tspan></text></g><g><path d="M0,31.9L221,31.9L221,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="52.9" x="54" class="st4">默认web的会话管理器</tspan></text></g></g><g transform="translate(578.5,411)" id="shape10"><path d="M0,0L0,-122L62.5,-122L62.5,-248L19,-248L19,-259.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M19,-264L16,-258.8C16.9,-259.3,17.9,-259.6,19,-259.6C20.1,-259.6,21.1,-259.3,22,-258.8L19,-264" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st3"><tspan y="-15.5" x="-13">创建</tspan></text></g><g transform="translate(364,301)" id="shape11"><path d="M0,0L0,-187L118.6,-187" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M123,-187L117.8,-190C118.3,-189.1,118.6,-188.1,118.6,-187C118.6,-185.9,118.3,-184.9,117.8,-184L123,-187" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st3"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(704,191)" id="table12"><g><path d="M0,0L241,0L241,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="17" class="st7">LifecycleBeanPostProcessor</tspan></text></g><g><path d="M0,31.9L241,31.9L241,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="53.4" x="35">实现bean生命周期的执行流程</tspan></text></g></g><g transform="translate(609,427.5)" id="shape13"><path d="M0,0L63,0L63,-203.5L90.6,-203.5" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M95,-203.5L89.8,-206.5C90.3,-205.6,90.6,-204.6,90.6,-203.5C90.6,-202.4,90.3,-201.4,89.8,-200.5L95,-203.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st3"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(704,301)" id="table14"><g><path d="M0,0L268,0L268,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="14" class="st2">DefaultAdvisorAutoProxyCreator</tspan></text></g><g><path d="M0,31.9L268,31.9L268,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="53.4" x="46">使用aop增强实现方法级别检测</tspan></text></g></g><g transform="translate(609,444)" id="shape15"><path d="M0,0L76,0L76,-93.5L90.6,-93.5" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M95,-93.5L89.8,-96.5C90.3,-95.6,90.6,-94.6,90.6,-93.5C90.6,-92.4,90.3,-91.4,89.8,-90.5L95,-93.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st3"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(703,427)" id="table16"><g><path d="M0,0L321,0L321,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="21" class="st2">AuthorizationAttributeSourceAdvisor</tspan></text></g><g><path d="M0,31.9L321,31.9L321,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="52.9" x="92" class="st4">配合AOP增强实现注解机制</tspan></text></g></g><g transform="translate(609,460.5)" id="shape17"><path d="M0,0L62,0L89.6,-0.4" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M94,-0.5L88.8,-3.4C89.3,-2.5,89.6,-1.5,89.6,-0.4C89.6,.7,89.3,1.7,88.9,2.6L94,-0.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st3"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(146,394.56)" id="table18"><g><path d="M0,0L208,0L208,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st1"><tspan y="20.9" x="16" class="st2">ShiroFilterFactoryBean</tspan></text></g><g><path d="M0,31.9L208,31.9L208,98.9L0,98.9L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st3"><tspan y="54.9" x="48">shiro的过滤器定义</tspan><tspan y="69.9" x="78">权限管理</tspan><tspan y="84.9" x="85">拦截链</tspan></text></g></g><g transform="translate(487,444)" id="shape19"><path d="M0,0L-128.6,0" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-133,0L-127.8,3C-128.3,2.1,-128.6,1.1,-128.6,0C-128.6,-1.1,-128.3,-2.1,-127.8,-3L-133,0" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st3"><tspan y="4.5" x="-33">创建</tspan></text></g><g transform="translate(198,394.56)" id="shape20"><path d="M0,0L0,-60.6L29.6,-60.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M34,-60.6L28.8,-63.6C29.3,-62.7,29.6,-61.7,29.6,-60.6C29.6,-59.5,29.3,-58.4,28.8,-57.6L34,-60.6" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st3"><tspan y="-15.5" x="-13">依赖</tspan></text></g></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 794" width="1122" height="793" id="page2" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st16 {fill:#1a6a7e;font-family:宋体;font-size:10pt}
.st10 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st14 {fill:#800000;font-size:10.5pt;font-weight:bold}
.st13 {fill:#800000;font-size:10.5pt}
.st9 {fill:#880503;font-size:10.5pt;font-weight:bold}
.st15 {fill:#924961}
.st12 {fill:#ffffff;font-family:宋体;font-size:10pt;font-weight:bold}
.st8 {fill:#ffffff;font-family:宋体;font-size:10pt}
.st11 {font-family:SimSun;font-size:9pt}
]]></style><defs/><rect width="1123" height="794" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(529,508)" id="table21"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="17" class="st9">ShiroConfig</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="53.4" x="29">主配置文件</tspan></text></g></g><g transform="translate(472,630)" id="table22"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="13" class="st9">SimpleCookie</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="52.9" x="31" class="st11">cookie对象</tspan></text></g></g><g transform="translate(559.5,574)" id="shape23"><path d="M0,0L0,24L-26.5,24L-26.5,51.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-26.5,56L-23.5,50.8C-24.4,51.3,-25.4,51.6,-26.5,51.6C-27.6,51.6,-28.6,51.3,-29.5,50.8L-26.5,56" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="12.5" x="-12.9" fill="#ffffff"/><text class="st10"><tspan y="24.5" x="-13">创建</tspan></text></g><g transform="translate(274,398)" id="table24"><g><path d="M0,0L264,0L264,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="32" class="st9">DefaultWebSecurityManager</tspan></text></g><g><path d="M0,31.9L264,31.9L264,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="52.9" x="75" class="st11">默认web的权限管理器</tspan></text></g></g><g transform="translate(529,524.5)" id="shape25"><path d="M0,0L-123,0L-123,-56.1" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-123,-60.5L-126,-55.3C-125.1,-55.8,-124.1,-56.1,-123,-56.1C-121.9,-56.1,-120.9,-55.8,-120,-55.3L-123,-60.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st10"><tspan y="4.5" x="-33">创建</tspan></text></g><g transform="translate(529,288)" id="table26"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st12"><tspan y="20.9" x="13" class="st13">ShiroDbRealm</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="52.9" x="28" class="st11">自定义realm</tspan></text></g></g><g transform="translate(590,508)" id="shape27"><path d="M0,0L0,-149.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,-154L-3,-148.8C-2.1,-149.3,-1.1,-149.6,0,-149.6C1.1,-149.6,2.1,-149.3,3,-148.8L0,-154" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st10"><tspan y="-15.5" x="-13">创建</tspan></text></g><g transform="translate(472,398)" id="shape28"><path d="M0,0L0,-77L52.6,-77" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M57,-77L51.8,-80C52.3,-79.1,52.6,-78.1,52.6,-77C52.6,-75.9,52.3,-74.9,51.8,-74L57,-77" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st10"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(529,178)" id="table29"><g><path d="M0,0L221,0L221,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="15" class="st9">DefaultWebSessionManager</tspan></text></g><g><path d="M0,31.9L221,31.9L221,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="52.9" x="54" class="st11">默认web的会话管理器</tspan></text></g></g><g transform="translate(620.5,508)" id="shape30"><path d="M0,0L0,-122L62.5,-122L62.5,-248L19,-248L19,-259.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M19,-264L16,-258.8C16.9,-259.3,17.9,-259.6,19,-259.6C20.1,-259.6,21.1,-259.3,22,-258.8L19,-264" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st10"><tspan y="-15.5" x="-13">创建</tspan></text></g><g transform="translate(406,398)" id="shape31"><path d="M0,0L0,-187L118.6,-187" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M123,-187L117.8,-190C118.3,-189.1,118.6,-188.1,118.6,-187C118.6,-185.9,118.3,-184.9,117.8,-184L123,-187" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st10"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(746,288)" id="table32"><g><path d="M0,0L241,0L241,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="17" class="st14">LifecycleBeanPostProcessor</tspan></text></g><g><path d="M0,31.9L241,31.9L241,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="53.4" x="35">实现bean生命周期的执行流程</tspan></text></g></g><g transform="translate(651,541)" id="shape33"><path d="M0,0L63,0L63,-220L90.6,-220" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M95,-220L89.8,-223C90.3,-222.1,90.6,-221.1,90.6,-220C90.6,-218.9,90.3,-217.9,89.8,-217L95,-220" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st10"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(746,398)" id="table34"><g><path d="M0,0L268,0L268,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="14" class="st9">DefaultAdvisorAutoProxyCreator</tspan></text></g><g><path d="M0,31.9L268,31.9L268,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="53.4" x="46">使用aop增强实现方法级别检测</tspan></text></g></g><g transform="translate(651,557.5)" id="shape35"><path d="M0,0L76,0L76,-110L90.6,-110" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M95,-110L89.8,-113C90.3,-112.1,90.6,-111.1,90.6,-110C90.6,-108.9,90.3,-107.9,89.8,-107L95,-110" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st10"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(632.5,622)" id="table36"><g><path d="M0,0L321,0L321,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="21" class="st9">AuthorizationAttributeSourceAdvisor</tspan></text></g><g><path d="M0,31.9L321,31.9L321,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="52.9" x="92" class="st11">配合AOP增强实现注解机制</tspan></text></g></g><g transform="translate(590,574)" id="shape37"><path d="M0,0L0,16L122.8,16L122.8,43.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M122.8,48L125.8,42.8C124.9,43.3,123.8,43.6,122.8,43.6C121.7,43.6,120.6,43.3,119.8,42.8L122.8,48" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="8.5" x="-8.9" fill="#ffffff"/><text class="st10"><tspan y="20.5" x="-9">创建</tspan></text></g><g transform="translate(188,491.56)" id="table38"><g><path d="M0,0L208,0L208,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st8"><tspan y="20.9" x="16" class="st9">ShiroFilterFactoryBean</tspan></text></g><g><path d="M0,31.9L208,31.9L208,98.9L0,98.9L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st10"><tspan y="54.9" x="48">shiro的过滤器定义</tspan><tspan y="69.9" x="78">权限管理</tspan><tspan y="84.9" x="85">拦截链</tspan></text></g></g><g transform="translate(529,541)" id="shape39"><path d="M0,0L-128.6,0" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-133,0L-127.8,3C-128.3,2.1,-128.6,1.1,-128.6,0C-128.6,-1.1,-128.3,-2.1,-127.8,-3L-133,0" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st10"><tspan y="4.5" x="-33">创建</tspan></text></g><g transform="translate(240,491.56)" id="shape40"><path d="M0,0L0,-60.6L29.6,-60.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M34,-60.6L28.8,-63.6C29.3,-62.7,29.6,-61.7,29.6,-60.6C29.6,-59.5,29.3,-58.4,28.8,-57.6L34,-60.6" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st10"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(798,178)" id="table41"><g><path d="M0,0L222,0L222,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st8"><tspan y="20.4" x="59" class="st15">RedisSessionDao</tspan></text></g><g><path d="M0,31.9L222,31.9L222,66L0,66L0,31.9z" fill="#e8f0f4" stroke="#81bace"/><text class="st16"><tspan y="53.4" x="35" class="st15">session会话存储的实现类</tspan></text></g></g><g transform="translate(796,68)" id="table42"><g><path d="M0,0L227,0L227,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st8"><tspan y="20.4" x="51" class="st15">AbstractSessionDAO</tspan></text></g><g><path d="M0,31.9L227,31.9L227,66L0,66L0,31.9z" fill="#e8f0f4" stroke="#81bace"/><text class="st16"><tspan y="53.4" x="57" class="st15">shiro的会话抽象类</tspan></text></g></g><g transform="translate(651,524.5)" id="shape43"><path d="M0,0L48,0L48,-264.5L115,-264.5L115,-297L142.6,-297" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M147,-297L141.8,-300C142.3,-299.1,142.6,-298.1,142.6,-297C142.6,-295.9,142.3,-294.9,141.8,-294L147,-297" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st10"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(750,194.5)" id="shape44"><path d="M0,0L43.6,0" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M48,0L42.8,-3C43.3,-2.1,43.6,-1.1,43.6,0C43.6,1.1,43.3,2.1,42.8,3L48,0" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st10"><tspan y="4.5" x="7">依赖</tspan></text></g><g transform="translate(909,178)" id="shape45"><path d="M0,0L0,-28L.4,-39.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M.5,-44L-2.7,-38.9C-1.8,-39.4,-0.7,-39.6,.4,-39.6C1.5,-39.6,2.5,-39.3,3.3,-38.7L.5,-44" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st10"><tspan y="-15.5" x="-13">继承</tspan></text></g></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 794" width="1122" height="793" id="page3" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st19 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st23 {fill:#800000;font-size:10.5pt;font-weight:bold}
.st22 {fill:#800000;font-size:10.5pt}
.st18 {fill:#880503;font-size:10.5pt;font-weight:bold}
.st24 {fill:#924961}
.st21 {fill:#ffffff;font-family:宋体;font-size:10pt;font-weight:bold}
.st17 {fill:#ffffff;font-family:宋体;font-size:10pt}
.st20 {font-family:SimSun;font-size:9pt}
]]></style><defs/><rect width="1123" height="794" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(555,508)" id="table46"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="20.9" x="17" class="st18">ShiroConfig</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="53.4" x="29">主配置文件</tspan></text></g></g><g transform="translate(498,630)" id="table47"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="20.9" x="13" class="st18">SimpleCookie</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="52.9" x="31" class="st20">cookie对象</tspan></text></g></g><g transform="translate(585.5,574)" id="shape48"><path d="M0,0L0,24L-26.5,24L-26.5,51.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-26.5,56L-23.5,50.8C-24.4,51.3,-25.4,51.6,-26.5,51.6C-27.6,51.6,-28.6,51.3,-29.5,50.8L-26.5,56" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="12.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="24.5" x="-13">创建</tspan></text></g><g transform="translate(300,398)" id="table49"><g><path d="M0,0L264,0L264,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="20.9" x="32" class="st18">DefaultWebSecurityManager</tspan></text></g><g><path d="M0,31.9L264,31.9L264,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="52.9" x="75" class="st20">默认web的权限管理器</tspan></text></g></g><g transform="translate(555,524.5)" id="shape50"><path d="M0,0L-123,0L-123,-56.1" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-123,-60.5L-126,-55.3C-125.1,-55.8,-124.1,-56.1,-123,-56.1C-121.9,-56.1,-120.9,-55.8,-120,-55.3L-123,-60.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st19"><tspan y="4.5" x="-33">创建</tspan></text></g><g transform="translate(555,288)" id="table51"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st21"><tspan y="20.9" x="13" class="st22">ShiroDbRealm</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="52.9" x="28" class="st20">自定义realm</tspan></text></g></g><g transform="translate(616,508)" id="shape52"><path d="M0,0L0,-149.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,-154L-3,-148.8C-2.1,-149.3,-1.1,-149.6,0,-149.6C1.1,-149.6,2.1,-149.3,3,-148.8L0,-154" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">创建</tspan></text></g><g transform="translate(498,398)" id="shape53"><path d="M0,0L0,-77L52.6,-77" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M57,-77L51.8,-80C52.3,-79.1,52.6,-78.1,52.6,-77C52.6,-75.9,52.3,-74.9,51.8,-74L57,-77" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(555,178)" id="table54"><g><path d="M0,0L221,0L221,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="20.9" x="15" class="st18">DefaultWebSessionManager</tspan></text></g><g><path d="M0,31.9L221,31.9L221,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="52.9" x="54" class="st20">默认web的会话管理器</tspan></text></g></g><g transform="translate(646.5,508)" id="shape55"><path d="M0,0L0,-122L62.5,-122L62.5,-248L19,-248L19,-259.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M19,-264L16,-258.8C16.9,-259.3,17.9,-259.6,19,-259.6C20.1,-259.6,21.1,-259.3,22,-258.8L19,-264" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">创建</tspan></text></g><g transform="translate(432,398)" id="shape56"><path d="M0,0L0,-187L118.6,-187" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M123,-187L117.8,-190C118.3,-189.1,118.6,-188.1,118.6,-187C118.6,-185.9,118.3,-184.9,117.8,-184L123,-187" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(772,288)" id="table57"><g><path d="M0,0L241,0L241,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="20.9" x="17" class="st23">LifecycleBeanPostProcessor</tspan></text></g><g><path d="M0,31.9L241,31.9L241,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="53.4" x="35">实现bean生命周期的执行流程</tspan></text></g></g><g transform="translate(677,541)" id="shape58"><path d="M0,0L63,0L63,-220L90.6,-220" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M95,-220L89.8,-223C90.3,-222.1,90.6,-221.1,90.6,-220C90.6,-218.9,90.3,-217.9,89.8,-217L95,-220" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st19"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(772,398)" id="table59"><g><path d="M0,0L268,0L268,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="20.9" x="14" class="st18">DefaultAdvisorAutoProxyCreator</tspan></text></g><g><path d="M0,31.9L268,31.9L268,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="53.4" x="46">使用aop增强实现方法级别检测</tspan></text></g></g><g transform="translate(677,557.5)" id="shape60"><path d="M0,0L76,0L76,-110L90.6,-110" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M95,-110L89.8,-113C90.3,-112.1,90.6,-111.1,90.6,-110C90.6,-108.9,90.3,-107.9,89.8,-107L95,-110" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st19"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(658.5,622)" id="table61"><g><path d="M0,0L321,0L321,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="20.9" x="21" class="st18">AuthorizationAttributeSourceAdvisor</tspan></text></g><g><path d="M0,31.9L321,31.9L321,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="52.9" x="92" class="st20">配合AOP增强实现注解机制</tspan></text></g></g><g transform="translate(616,574)" id="shape62"><path d="M0,0L0,16L122.8,16L122.8,43.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M122.8,48L125.8,42.8C124.9,43.3,123.8,43.6,122.8,43.6C121.7,43.6,120.6,43.3,119.8,42.8L122.8,48" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="8.5" x="-8.9" fill="#ffffff"/><text class="st19"><tspan y="20.5" x="-9">创建</tspan></text></g><g transform="translate(163,491.56)" id="table63"><g><path d="M0,0L259,0L259,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st17"><tspan y="20.9" x="18" class="st18">CustomShiroFilterFactoryBean</tspan></text></g><g><path d="M0,31.9L259,31.9L259,98.9L0,98.9L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="54.9" x="73">shiro的过滤器定义</tspan><tspan y="69.9" x="84">指定权限管理器</tspan><tspan y="84.9" x="71">指定过滤器链解析器</tspan></text></g></g><g transform="translate(555,541)" id="shape64"><path d="M0,0L-128.6,0" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-133,0L-127.8,3C-128.3,2.1,-128.6,1.1,-128.6,0C-128.6,-1.1,-128.3,-2.1,-127.8,-3L-133,0" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st19"><tspan y="4.5" x="-33">创建</tspan></text></g><g transform="translate(227.75,491.56)" id="shape65"><path d="M0,0L0,-60.6L67.9,-60.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M72.3,-60.6L67.1,-63.6C67.6,-62.7,67.9,-61.7,67.9,-60.6C67.9,-59.5,67.6,-58.4,67.1,-57.6L72.3,-60.6" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(824,178)" id="table66"><g><path d="M0,0L222,0L222,31.9L0,31.9L0,0z" fill="#3498db" stroke="#3498db"/><text class="st17"><tspan y="20.4" x="59" class="st24">RedisSessionDao</tspan></text></g><g><path d="M0,31.9L222,31.9L222,66L0,66L0,31.9z" fill="#e8eff8" stroke="#83b3e3"/><text class="st19"><tspan y="53.4" x="35" class="st24">session会话存储的实现类</tspan></text></g></g><g transform="translate(822,68)" id="table67"><g><path d="M0,0L227,0L227,31.9L0,31.9L0,0z" fill="#2d85c1" stroke="#2d85c1"/><text class="st17"><tspan y="20.4" x="51" class="st24">AbstractSessionDAO</tspan></text></g><g><path d="M0,31.9L227,31.9L227,66L0,66L0,31.9z" fill="#e8eff8" stroke="#83b3e3"/><text class="st19"><tspan y="53.4" x="57" class="st24">shiro的会话抽象类</tspan></text></g></g><g transform="translate(677,524.5)" id="shape68"><path d="M0,0L48,0L48,-264.5L115,-264.5L115,-297L142.6,-297" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M147,-297L141.8,-300C142.3,-299.1,142.6,-298.1,142.6,-297C142.6,-295.9,142.3,-294.9,141.8,-294L147,-297" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st19"><tspan y="4.5" x="7">创建</tspan></text></g><g transform="translate(776,194.5)" id="shape69"><path d="M0,0L43.6,0" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M48,0L42.8,-3C43.3,-2.1,43.6,-1.1,43.6,0C43.6,1.1,43.3,2.1,42.8,3L48,0" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st19"><tspan y="4.5" x="7">依赖</tspan></text></g><g transform="translate(935,178)" id="shape70"><path d="M0,0L0,-28L.4,-39.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M.5,-44L-2.7,-38.9C-1.8,-39.4,-0.7,-39.6,.4,-39.6C1.5,-39.6,2.5,-39.3,3.3,-38.7L.5,-44" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">继承</tspan></text></g><g transform="translate(141,348)" id="table71"><g><path d="M0,0L222,0L222,32L0,32L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st17"><tspan y="21" x="23" class="st18">ShiroFilterFactoryBean</tspan></text></g></g><g transform="translate(196,491)" id="shape72"><path d="M0,0L0,-106.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,-111L-3,-105.8C-2.1,-106.3,-1.1,-106.6,0,-106.6C1.1,-106.6,2.1,-106.3,3,-105.8L0,-111" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">继承</tspan></text></g><g transform="translate(97,142)" id="table73"><g><path d="M0,0L324,0L324,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st17"><tspan y="20.9" x="38" class="st18">CustomDefaultFilterChainManager</tspan></text></g><g><path d="M0,31.9L324,31.9L324,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="53.4" x="117">过滤器链管理器</tspan></text></g></g><g transform="translate(96,250)" id="table74"><g><path d="M0,0L326,0L326,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st17"><tspan y="20.9" x="15" class="st18">CustomPathMatchingFilterChainResolver</tspan></text></g><g><path d="M0,31.9L326,31.9L326,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st19"><tspan y="52.9" x="121" class="st20">过滤器链解析器</tspan></text></g></g><g transform="translate(163,541)" id="shape75"><path d="M0,0L-99,0L-99,-241.5L-71.4,-241.5" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-67,-241.5L-72.2,-244.5C-71.7,-243.6,-71.4,-242.6,-71.4,-241.5C-71.4,-240.4,-71.7,-239.4,-72.2,-238.5L-67,-241.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st19"><tspan y="4.5" x="-33">依赖</tspan></text></g><g transform="translate(259,250)" id="shape76"><path d="M0,0L0,-37.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,-42L-3,-36.8C-2.1,-37.3,-1.1,-37.6,0,-37.6C1.1,-37.6,2.1,-37.3,3,-36.8L0,-42" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st19"><tspan y="-15.5" x="-13">依赖</tspan></text></g></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 794" width="1122" height="793" id="page4" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st33 {fill:#000000;font-family:宋体;font-size:10pt}
.st30 {fill:#008040;font-size:10.5pt}
.st29 {fill:#111fc3;font-size:10.5pt;font-weight:bold}
.st27 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st34 {fill:#800000;font-size:10.5pt;font-weight:bold}
.st26 {fill:#800000;font-size:10.5pt}
.st28 {fill:#880503;font-size:10.5pt;font-weight:bold}
.st31 {fill:#c82137;font-size:10.5pt}
.st25 {fill:#ffffff;font-family:宋体;font-size:10pt}
.st32 {font-family:SimSun;font-size:9pt}
]]></style><defs/><rect width="1123" height="794" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(765,280)" id="table77"><g><path d="M0,0L311,0L311,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.6" x="114" class="st26">ShiroDbRealm</tspan></text></g><g><path d="M0,31.3L311,31.3L311,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="52.5" x="99">realm自定义抽象类</tspan></text></g><g><path d="M0,64.7L311,64.7L311,96L0,96L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st27"><tspan y="84.9" x="84">认证、鉴权、密码匹配器</tspan></text></g></g><g transform="translate(830.75,196)" id="table78"><g><path d="M0,0L179.5,0L179.5,32L0,32L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="21" x="31">e</tspan><tspan class="st26">AuthorizingRealm</tspan></text></g></g><g transform="translate(920.5,280)" id="shape79"><path d="M0,0L0,-44" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-52L-4,-44L4,-44L0,-52" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="-26.8" x="-13">继承</tspan></text></g><g transform="translate(410,280)" id="table80"><g><path d="M0,0L311,0L311,30L0,30L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20" x="92" class="st28">ShiroDbRealmImpl</tspan></text></g><g><path d="M0,30L311,30L311,59L0,59L0,30z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="49" x="106">realm自定义实现</tspan></text></g><g><path d="M0,59L311,59L311,95.7L0,95.7L0,59z" fill="#ffffff" stroke="#7e7e7e"/><rect width="146.1" height="15" y="69.9" x="85.7" fill="#ffffff"/><text class="st27"><tspan y="81.9" x="84">认证、鉴权、密码匹配器</tspan></text></g></g><g transform="translate(721,327.86)" id="shape81"><path d="M0,0L36,.1" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M44,.1L36,-3.9L36,4.1L44,.1" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="-6.8" x="9">继承</tspan></text></g><g transform="translate(90,224.5)" id="table82"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.6" x="64" class="st29">UserBridgeService</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="52.5" x="59">user的桥接(后期放缓存)</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st27"><tspan y="84.7" x="9" class="st30">授权验证</tspan><tspan class="st31">：getAuthorizationInfo</tspan><tspan y="112.7" x="9" class="st30">拥有的角色：</tspan><tspan class="st31">findRoleList</tspan><tspan y="140.7" x="9" class="st30">拥有的资源：</tspan><tspan class="st31">findResourcesList</tspan><tspan y="168.7" x="9" class="st30">查找用户：</tspan><tspan class="st31">findUserByLoginName</tspan><tspan y="196.7" x="9" class="st30">资源ID的list：</tspan><tspan class="st31">findResourcesIdsList</tspan></text></g></g><g transform="translate(410,327.86)" id="shape83"><path d="M0,0L-57,0" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-45,6L-57,0L-45,-6" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="-7.3" x="-40.5" class="st32">依赖</tspan></text></g><g transform="translate(90,469)" id="table84"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.6" x="48" class="st28">UserBridgeServiceImpl</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="52.5" x="46">user的桥接实现(后期放缓存)</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st27"><tspan y="84.7" x="9" class="st30">授权验证</tspan><tspan class="st31">：getAuthorizationInfo</tspan><tspan y="112.7" x="9" class="st30">拥有的角色：</tspan><tspan class="st31">findRoleList</tspan><tspan y="140.7" x="9" class="st30">拥有的资源：</tspan><tspan class="st31">findResourcesList</tspan><tspan y="168.7" x="9" class="st30">查找用户：</tspan><tspan class="st31">findUserByLoginName</tspan><tspan y="196.7" x="9" class="st30">资源ID的list：</tspan><tspan class="st31">findResourcesIdsList</tspan></text></g></g><g transform="translate(221.5,469)" id="shape85"><path d="M0,0L0,-33.8" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-41.8C2.2,-41.8,4,-40,4,-37.8C4,-35.6,2.2,-33.8,0,-33.8C-2.2,-33.8,-4,-35.6,-4,-37.8C-4,-40,-2.2,-41.8,0,-41.8" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st33"><tspan y="-27.3" x="-12" class="st32">实现</tspan></text></g><g transform="translate(410,539.37)" id="table86"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.9" x="17" class="st29">UserAdapter</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="53.4" x="29">数据库相关</tspan></text></g></g><g transform="translate(589,539.37)" id="table87"><g><path d="M0,0L166,0L166,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.9" x="23" class="st28">UserAdapterImpl</tspan></text></g><g><path d="M0,31.9L166,31.9L166,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="52.9" x="53" class="st32">数据库相关</tspan></text></g></g><g transform="translate(353,572.37)" id="shape88"><path d="M0,0L57,0" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M45,-6L57,0L45,6" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="-7.3" x="16.5" class="st32">依赖</tspan></text></g><g transform="translate(532,572.37)" id="shape89"><path d="M0,0L53,0" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M61,0C61,2.2,59.2,4,57,4C54.8,4,53,2.2,53,0C53,-2.2,54.8,-4,57,-4C59.2,-4,61,-2.2,61,0" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st33"><tspan y="-7.3" x="16.5" class="st32">实现</tspan></text></g><g transform="translate(408,126)" id="table90"><g><path d="M0,0L231,0L231,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.6" x="20" class="st28">HashedCredentialsMatcher</tspan></text></g><g><path d="M0,31.3L231,31.3L231,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="52.5" x="70">密码匹配器配置</tspan></text></g><g><path d="M0,64.7L231,64.7L231,96L0,96L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st27"><tspan y="84.9" x="42">指定hash次数和hash方式</tspan></text></g></g><g transform="translate(466,280)" id="shape91"><path d="M0,0L-0.3,-58" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-6.2,-46L-0.3,-58L5.8,-46" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="-27.3" x="-12.1" class="st32">依赖</tspan></text></g><g transform="translate(667.5,151)" id="table92"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.9" x="17" class="st28">SimpleToken</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="52.9" x="22" class="st32">自定义的token</tspan></text></g></g><g transform="translate(698.25,275)" id="shape93"><path d="M0,0L-0.3,-58" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-6.2,-46L-0.3,-58L5.8,-46" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="-27.3" x="-12.1" class="st32">依赖</tspan></text></g><g transform="translate(413,422)" id="table94"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.9" x="25" class="st28">ShiroUser</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="53.4" x="35">令牌对象</tspan></text></g></g><g transform="translate(443,379)" id="shape95"><path d="M0,0L.5,43" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M6.4,30.9L.5,43L-5.6,31.1" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="12.7" x="-11.8" class="st32">依赖</tspan></text></g><g transform="translate(585,422)" id="table96"><g><path d="M0,0L231,0L231,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.9" x="20" class="st34">SimpleAuthenticationInfo</tspan></text></g><g><path d="M0,31.9L231,31.9L231,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="53.4" x="90">认证对象</tspan></text></g></g><g transform="translate(643.25,375.73)" id="shape97"><path d="M0,0L-0.5,46.3" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M5.6,34.3L-0.5,46.3L-6.4,34.2" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st27"><tspan y="12.7" x="-12.3" class="st32">依赖</tspan></text></g><g transform="translate(844,422)" id="table98"><g><path d="M0,0L232,0L232,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st25"><tspan y="20.9" x="24" class="st34">SimpleAuthorizationInfo</tspan></text></g><g><path d="M0,31.9L232,31.9L232,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st27"><tspan y="53.4" x="90">鉴权对象</tspan></text></g></g><g transform="translate(721,351.8)" id="shape99"><path d="M0,0L28,0L28,38.2L107,38.2L107,86.7L118.6,86.7" fill="none" stroke="#236ea1" stroke-dasharray="2,5"/><path stroke-width="1" d="M123,86.7L117.8,83.7C118.3,84.6,118.6,85.6,118.6,86.7C118.6,87.8,118.3,88.8,117.8,89.7L123,86.7" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st27"><tspan y="4.5" x="7">依赖</tspan></text></g></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 1587" width="1122" height="1587" id="page5" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st43 {fill:#000000;font-family:宋体;font-size:10pt}
.st40 {fill:#008040;font-size:10.5pt}
.st39 {fill:#111fc3;font-size:10.5pt;font-weight:bold}
.st37 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st44 {fill:#800000;font-size:10.5pt;font-weight:bold}
.st36 {fill:#800000;font-size:10.5pt}
.st38 {fill:#880503;font-size:10.5pt;font-weight:bold}
.st41 {fill:#c82137;font-size:10.5pt}
.st35 {fill:#ffffff;font-family:宋体;font-size:10pt}
.st42 {font-family:SimSun;font-size:9pt}
]]></style><defs/><rect width="1123" height="1587" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(765,280)" id="table100"><g><path d="M0,0L311,0L311,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.6" x="114" class="st36">ShiroDbRealm</tspan></text></g><g><path d="M0,31.3L311,31.3L311,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.5" x="99">realm自定义抽象类</tspan></text></g><g><path d="M0,64.7L311,64.7L311,96L0,96L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st37"><tspan y="84.9" x="84">认证、鉴权、密码匹配器</tspan></text></g></g><g transform="translate(830.75,196)" id="table101"><g><path d="M0,0L179.5,0L179.5,32L0,32L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="21" x="31">e</tspan><tspan class="st36">AuthorizingRealm</tspan></text></g></g><g transform="translate(920.5,280)" id="shape102"><path d="M0,0L0,-44" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-52L-4,-44L4,-44L0,-52" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-26.8" x="-13">继承</tspan></text></g><g transform="translate(410,280)" id="table103"><g><path d="M0,0L311,0L311,30L0,30L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20" x="92" class="st38">ShiroDbRealmImpl</tspan></text></g><g><path d="M0,30L311,30L311,59L0,59L0,30z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="49" x="106">realm自定义实现</tspan></text></g><g><path d="M0,59L311,59L311,95.7L0,95.7L0,59z" fill="#ffffff" stroke="#7e7e7e"/><rect width="146.1" height="15" y="69.9" x="85.7" fill="#ffffff"/><text class="st37"><tspan y="81.9" x="84">认证、鉴权、密码匹配器</tspan></text></g></g><g transform="translate(721,327.86)" id="shape104"><path d="M0,0L36,.1" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M44,.1L36,-3.9L36,4.1L44,.1" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-6.8" x="9">继承</tspan></text></g><g transform="translate(90,224.5)" id="table105"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.6" x="64" class="st39">UserBridgeService</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.5" x="98">user的桥接</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st37"><tspan y="84.7" x="9" class="st40">授权验证</tspan><tspan class="st41">：getAuthorizationInfo</tspan><tspan y="112.7" x="9" class="st40">拥有的角色：</tspan><tspan class="st41">findRoleList</tspan><tspan y="140.7" x="9" class="st40">拥有的资源：</tspan><tspan class="st41">findResourcesList</tspan><tspan y="168.7" x="9" class="st40">查找用户：</tspan><tspan class="st41">findUserByLoginName</tspan><tspan y="196.7" x="9" class="st40">资源ID的list：</tspan><tspan class="st41">findResourcesIdsList</tspan></text></g></g><g transform="translate(410,327.86)" id="shape106"><path d="M0,0L-57,0" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-45,6L-57,0L-45,-6" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-7.3" x="-40.5" class="st42">依赖</tspan></text></g><g transform="translate(90,469)" id="table107"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.6" x="48" class="st38">UserBridgeServiceImpl</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.5" x="46">user的桥接实现(后期放缓存)</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st37"><tspan y="84.7" x="9" class="st40">授权验证</tspan><tspan class="st41">：getAuthorizationInfo</tspan><tspan y="112.7" x="9" class="st40">拥有的角色：</tspan><tspan class="st41">findRoleList</tspan><tspan y="140.7" x="9" class="st40">拥有的资源：</tspan><tspan class="st41">findResourcesList</tspan><tspan y="168.7" x="9" class="st40">查找用户：</tspan><tspan class="st41">findUserByLoginName</tspan><tspan y="196.7" x="9" class="st40">资源ID的list：</tspan><tspan class="st41">findResourcesIdsList</tspan></text></g></g><g transform="translate(221.5,469)" id="shape108"><path d="M0,0L0,-33.8" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-41.8C2.2,-41.8,4,-40,4,-37.8C4,-35.6,2.2,-33.8,0,-33.8C-2.2,-33.8,-4,-35.6,-4,-37.8C-4,-40,-2.2,-41.8,0,-41.8" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st43"><tspan y="-27.3" x="-12" class="st42">实现</tspan></text></g><g transform="translate(414,539.37)" id="table109"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.9" x="17" class="st39">UserAdapter</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="53.4" x="29">数据库相关</tspan></text></g></g><g transform="translate(593,539.37)" id="table110"><g><path d="M0,0L166,0L166,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.9" x="23" class="st38">UserAdapterImpl</tspan></text></g><g><path d="M0,31.9L166,31.9L166,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.9" x="53" class="st42">数据库相关</tspan></text></g></g><g transform="translate(357,572.37)" id="shape111"><path d="M0,0L57,0" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M45,-6L57,0L45,6" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-7.3" x="16.5" class="st42">依赖</tspan></text></g><g transform="translate(536,572.37)" id="shape112"><path d="M0,0L53,0" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M61,0C61,2.2,59.2,4,57,4C54.8,4,53,2.2,53,0C53,-2.2,54.8,-4,57,-4C59.2,-4,61,-2.2,61,0" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st43"><tspan y="-7.3" x="16.5" class="st42">实现</tspan></text></g><g transform="translate(408,126)" id="table113"><g><path d="M0,0L231,0L231,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.6" x="20" class="st38">HashedCredentialsMatcher</tspan></text></g><g><path d="M0,31.3L231,31.3L231,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.5" x="70">密码匹配器配置</tspan></text></g><g><path d="M0,64.7L231,64.7L231,96L0,96L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st37"><tspan y="84.9" x="42">指定hash次数和hash方式</tspan></text></g></g><g transform="translate(466,280)" id="shape114"><path d="M0,0L-0.3,-58" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-6.2,-46L-0.3,-58L5.8,-46" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-27.3" x="-12.1" class="st42">依赖</tspan></text></g><g transform="translate(667.5,151)" id="table115"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.9" x="17" class="st38">SimpleToken</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.9" x="22" class="st42">自定义的token</tspan></text></g></g><g transform="translate(698.25,275)" id="shape116"><path d="M0,0L-0.3,-58" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-6.2,-46L-0.3,-58L5.8,-46" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-27.3" x="-12.1" class="st42">依赖</tspan></text></g><g transform="translate(413,422)" id="table117"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.9" x="25" class="st38">ShiroUser</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="53.4" x="35">令牌对象</tspan></text></g></g><g transform="translate(443,379)" id="shape118"><path d="M0,0L.5,43" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M6.4,30.9L.5,43L-5.6,31.1" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="12.7" x="-11.8" class="st42">依赖</tspan></text></g><g transform="translate(643.25,375.73)" id="shape119"><path d="M0,0L-0.3,46.3" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M5.8,34.3L-0.3,46.3L-6.2,34.2" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="12.7" x="-12.1" class="st42">依赖</tspan></text></g><g transform="translate(221.5,675.73)" id="shape120"><path d="M0,0L.5,37.8" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M6.3,25.7L.5,37.8L-5.7,25.9" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="12.7" x="-11.8" class="st42">依赖</tspan></text></g><g transform="translate(410,633)" id="table121"><g><path d="M0,0L251,0L251,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st35"><tspan y="20.4" x="77">SimpleMapCache</tspan></text></g><g><path d="M0,31.9L251,31.9L251,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.9" x="96" class="st42">缓存实现类</tspan></text></g></g><g transform="translate(90.5,713.5)" id="table122"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st35"><tspan y="20.6" x="60" class="st38">SimpleCacheService</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.5" x="60">简单的缓存管理抽实现类</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st37"><tspan y="98.7" x="9" class="st40">新增缓存</tspan><tspan class="st41">：createCache</tspan><tspan y="126.7" x="9" class="st40">获取缓存：</tspan><tspan class="st41">getCache</tspan><tspan y="154.7" x="9" class="st40">移除缓存：</tspan><tspan class="st41">removeCache</tspan><tspan y="182.7" x="9" class="st40">更新缓存堆：</tspan><tspan class="st41">updateCahce</tspan></text></g></g><g transform="translate(353,649.5)" id="shape123"><path d="M0,0L57,0" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M45,-6L57,0L45,6" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-7.3" x="16.5" class="st42">依赖</tspan></text></g><g transform="translate(413,713.5)" id="table124"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st35"><tspan y="20.6" x="44" class="st38">SimpleCacheServiceImpl</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="52.5" x="73">简单的缓存管理接口</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st37"><tspan y="98.7" x="9" class="st40">新增缓存</tspan><tspan class="st41">：createCache</tspan><tspan y="126.7" x="9" class="st40">获取缓存：</tspan><tspan class="st41">getCache</tspan><tspan y="154.7" x="9" class="st40">移除缓存：</tspan><tspan class="st41">removeCache</tspan><tspan y="182.7" x="9" class="st40">更新缓存堆：</tspan><tspan class="st41">updateCahce</tspan></text></g></g><g transform="translate(413,816.87)" id="shape125"><path d="M0,0L-55.5,0" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M-63.5,0C-63.5,-2.2,-61.7,-4,-59.5,-4C-57.3,-4,-55.5,-2.2,-55.5,0C-55.5,2.2,-57.3,4,-59.5,4C-61.7,4,-63.5,2.2,-63.5,0" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st43"><tspan y="5" x="-27" class="st42">实现</tspan></text></g><g transform="translate(728,732)" id="table126"><g><path d="M0,0L155,0L155,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st35"><tspan y="20.4" x="29">RedissonClient</tspan></text></g><g><path d="M0,31.9L155,31.9L155,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="53.4" x="41">redis客户端</tspan></text></g></g><g transform="translate(676,765.18)" id="shape127"><path d="M0,0L52,-0.2" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M40,-6.1L52,-0.2L40,5.9" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-7.4" x="14" class="st42">依赖</tspan></text></g><g transform="translate(728,832)" id="table128"><g><path d="M0,0L212,0L212,31.9L0,31.9L0,0z" fill="#e49cb1" stroke="#e49cb1"/><text class="st35"><tspan y="20.4" x="26">ShiroRedissionSerialize</tspan></text></g><g><path d="M0,31.9L212,31.9L212,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="53.4" x="74">序列化工具</tspan></text></g></g><g transform="translate(676,868.55)" id="shape129"><path d="M0,0L52,-0.2" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M40,-6.1L52,-0.2L40,5.9" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st37"><tspan y="-7.4" x="14" class="st42">依赖</tspan></text></g><g transform="translate(579,424)" id="table130"><g><path d="M0,0L231,0L231,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.9" x="20" class="st44">SimpleAuthenticationInfo</tspan></text></g><g><path d="M0,31.9L231,31.9L231,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="53.4" x="90">认证对象</tspan></text></g></g><g transform="translate(838,424)" id="table131"><g><path d="M0,0L232,0L232,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st35"><tspan y="20.9" x="24" class="st44">SimpleAuthorizationInfo</tspan></text></g><g><path d="M0,31.9L232,31.9L232,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st37"><tspan y="53.4" x="90">鉴权对象</tspan></text></g></g><g transform="translate(721,351.8)" id="shape132"><path d="M0,0L28,0L28,40.2L175,40.2L175,67.8" fill="none" stroke="#236ea1" stroke-dasharray="2,5"/><path stroke-width="1" d="M175,72.2L178,67C177.1,67.5,176.1,67.8,175,67.8C173.9,67.8,172.9,67.5,172,67L175,72.2" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="7.1" fill="#ffffff"/><text class="st37"><tspan y="4.5" x="7">继承</tspan></text></g></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 1587" width="1122" height="1587" id="page6" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st53 {fill:#000000;font-family:宋体;font-size:10pt}
.st50 {fill:#008040;font-size:10.5pt}
.st49 {fill:#111fc3;font-size:10.5pt;font-weight:bold}
.st47 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st54 {fill:#800000;font-size:10.5pt;font-weight:bold}
.st46 {fill:#800000;font-size:10.5pt}
.st48 {fill:#880503;font-size:10.5pt;font-weight:bold}
.st55 {fill:#aa7300;font-family:宋体;font-size:10pt}
.st51 {fill:#c82137;font-size:10.5pt}
.st45 {fill:#ffffff;font-family:宋体;font-size:10pt}
.st52 {font-family:SimSun;font-size:9pt}
]]></style><defs/><rect width="1123" height="1587" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(786.5,204.59)" id="table133"><g><path d="M0,0L311,0L311,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.6" x="114" class="st46">ShiroDbRealm</tspan></text></g><g><path d="M0,31.3L311,31.3L311,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.5" x="99">realm自定义抽象类</tspan></text></g><g><path d="M0,64.7L311,64.7L311,96L0,96L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st47"><tspan y="84.9" x="84">认证、鉴权、密码匹配器</tspan></text></g></g><g transform="translate(852.25,120.59)" id="table134"><g><path d="M0,0L179.5,0L179.5,32L0,32L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="21" x="31">e</tspan><tspan class="st46">AuthorizingRealm</tspan></text></g></g><g transform="translate(942,204.59)" id="shape135"><path d="M0,0L0,-44" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-52L-4,-44L4,-44L0,-52" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-26.8" x="-13">继承</tspan></text></g><g transform="translate(431.5,204.59)" id="table136"><g><path d="M0,0L311,0L311,30L0,30L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20" x="92" class="st48">ShiroDbRealmImpl</tspan></text></g><g><path d="M0,30L311,30L311,59L0,59L0,30z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="49" x="106">realm自定义实现</tspan></text></g><g><path d="M0,59L311,59L311,95.7L0,95.7L0,59z" fill="#ffffff" stroke="#7e7e7e"/><rect width="146.1" height="15" y="69.9" x="85.7" fill="#ffffff"/><text class="st47"><tspan y="81.9" x="84">认证、鉴权、密码匹配器</tspan></text></g></g><g transform="translate(742.5,252.45)" id="shape137"><path d="M0,0L36,.1" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M44,.1L36,-3.9L36,4.1L44,.1" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-6.8" x="9">继承</tspan></text></g><g transform="translate(111.5,149.09)" id="table138"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.6" x="64" class="st49">UserBridgeService</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.5" x="98">user的桥接</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st47"><tspan y="84.7" x="9" class="st50">授权验证</tspan><tspan class="st51">：getAuthorizationInfo</tspan><tspan y="112.7" x="9" class="st50">拥有的角色：</tspan><tspan class="st51">findRoleList</tspan><tspan y="140.7" x="9" class="st50">拥有的资源：</tspan><tspan class="st51">findResourcesList</tspan><tspan y="168.7" x="9" class="st50">查找用户：</tspan><tspan class="st51">findUserByLoginName</tspan><tspan y="196.7" x="9" class="st50">资源ID的list：</tspan><tspan class="st51">findResourcesIdsList</tspan></text></g></g><g transform="translate(431.5,252.45)" id="shape139"><path d="M0,0L-57,0" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-45,6L-57,0L-45,-6" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-7.3" x="-40.5" class="st52">依赖</tspan></text></g><g transform="translate(111.5,393.59)" id="table140"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.6" x="48" class="st48">UserBridgeServiceImpl</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.5" x="46">user的桥接实现(后期放缓存)</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st47"><tspan y="84.7" x="9" class="st50">授权验证</tspan><tspan class="st51">：getAuthorizationInfo</tspan><tspan y="112.7" x="9" class="st50">拥有的角色：</tspan><tspan class="st51">findRoleList</tspan><tspan y="140.7" x="9" class="st50">拥有的资源：</tspan><tspan class="st51">findResourcesList</tspan><tspan y="168.7" x="9" class="st50">查找用户：</tspan><tspan class="st51">findUserByLoginName</tspan><tspan y="196.7" x="9" class="st50">资源ID的list：</tspan><tspan class="st51">findResourcesIdsList</tspan></text></g></g><g transform="translate(243,393.59)" id="shape141"><path d="M0,0L0,-33.8" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-41.8C2.2,-41.8,4,-40,4,-37.8C4,-35.6,2.2,-33.8,0,-33.8C-2.2,-33.8,-4,-35.6,-4,-37.8C-4,-40,-2.2,-41.8,0,-41.8" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st53"><tspan y="-27.3" x="-12" class="st52">实现</tspan></text></g><g transform="translate(725.5,558.95)" id="table142"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.9" x="17" class="st49">UserAdapter</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="29">数据库相关</tspan></text></g></g><g transform="translate(904.5,558.95)" id="table143"><g><path d="M0,0L166,0L166,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.9" x="23" class="st48">UserAdapterImpl</tspan></text></g><g><path d="M0,31.9L166,31.9L166,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.9" x="53" class="st52">数据库相关</tspan></text></g></g><g transform="translate(847.5,591.95)" id="shape144"><path d="M0,0L53,0" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M61,0C61,2.2,59.2,4,57,4C54.8,4,53,2.2,53,0C53,-2.2,54.8,-4,57,-4C59.2,-4,61,-2.2,61,0" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st53"><tspan y="-7.3" x="16.5" class="st52">实现</tspan></text></g><g transform="translate(429.5,50.59)" id="table145"><g><path d="M0,0L231,0L231,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.6" x="20" class="st48">HashedCredentialsMatcher</tspan></text></g><g><path d="M0,31.3L231,31.3L231,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.5" x="70">密码匹配器配置</tspan></text></g><g><path d="M0,64.7L231,64.7L231,96L0,96L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st47"><tspan y="84.9" x="42">指定hash次数和hash方式</tspan></text></g></g><g transform="translate(487.5,204.59)" id="shape146"><path d="M0,0L-0.3,-58" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-6.2,-46L-0.3,-58L5.8,-46" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-27.3" x="-12.1" class="st52">依赖</tspan></text></g><g transform="translate(689,75.59)" id="table147"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.9" x="17" class="st48">SimpleToken</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.9" x="22" class="st52">自定义的token</tspan></text></g></g><g transform="translate(719.75,199.59)" id="shape148"><path d="M0,0L-0.3,-58" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M-6.2,-46L-0.3,-58L5.8,-46" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-27.3" x="-12.1" class="st52">依赖</tspan></text></g><g transform="translate(434.5,346.59)" id="table149"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.9" x="25" class="st48">ShiroUser</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="35">令牌对象</tspan></text></g></g><g transform="translate(464.5,303.59)" id="shape150"><path d="M0,0L.5,43" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M6.4,30.9L.5,43L-5.6,31.1" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="12.7" x="-11.8" class="st52">依赖</tspan></text></g><g transform="translate(664.75,300.31)" id="shape151"><path d="M0,0L-0.3,46.3" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M5.8,34.3L-0.3,46.3L-6.2,34.2" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="12.7" x="-12.1" class="st52">依赖</tspan></text></g><g transform="translate(243,600.31)" id="shape152"><path d="M0,0L.5,37.8" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M6.3,25.7L.5,37.8L-5.7,25.9" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="12.7" x="-11.8" class="st52">依赖</tspan></text></g><g transform="translate(431.5,557.59)" id="table153"><g><path d="M0,0L251,0L251,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.4" x="77">SimpleMapCache</tspan></text></g><g><path d="M0,31.9L251,31.9L251,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.9" x="96" class="st52">缓存实现类</tspan></text></g></g><g transform="translate(112,638.09)" id="table154"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.6" x="60" class="st48">SimpleCacheService</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.5" x="60">简单的缓存管理抽实现类</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st47"><tspan y="98.7" x="9" class="st50">新增缓存</tspan><tspan class="st51">：createCache</tspan><tspan y="126.7" x="9" class="st50">获取缓存：</tspan><tspan class="st51">getCache</tspan><tspan y="154.7" x="9" class="st50">移除缓存：</tspan><tspan class="st51">removeCache</tspan><tspan y="182.7" x="9" class="st50">更新缓存堆：</tspan><tspan class="st51">updateCahce</tspan></text></g></g><g transform="translate(374.5,574.09)" id="shape155"><path d="M0,0L57,0" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M45,-6L57,0L45,6" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-7.3" x="16.5" class="st52">依赖</tspan></text></g><g transform="translate(434.5,638.09)" id="table156"><g><path d="M0,0L263,0L263,31.3L0,31.3L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.6" x="44" class="st48">SimpleCacheServiceImpl</tspan></text></g><g><path d="M0,31.3L263,31.3L263,64.7L0,64.7L0,31.3z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="52.5" x="73">简单的缓存管理接口</tspan></text></g><g><path d="M0,64.7L263,64.7L263,206.7L0,206.7L0,64.7z" fill="#ffffff" stroke="#7e7e7e"/><text class="st47"><tspan y="98.7" x="9" class="st50">新增缓存</tspan><tspan class="st51">：createCache</tspan><tspan y="126.7" x="9" class="st50">获取缓存：</tspan><tspan class="st51">getCache</tspan><tspan y="154.7" x="9" class="st50">移除缓存：</tspan><tspan class="st51">removeCache</tspan><tspan y="182.7" x="9" class="st50">更新缓存堆：</tspan><tspan class="st51">updateCahce</tspan></text></g></g><g transform="translate(434.5,741.45)" id="shape157"><path d="M0,0L-55.5,0" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M-63.5,0C-63.5,-2.2,-61.7,-4,-59.5,-4C-57.3,-4,-55.5,-2.2,-55.5,0C-55.5,2.2,-57.3,4,-59.5,4C-61.7,4,-63.5,2.2,-63.5,0" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st53"><tspan y="5" x="-27" class="st52">实现</tspan></text></g><g transform="translate(749.5,656.59)" id="table158"><g><path d="M0,0L155,0L155,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.4" x="29">RedissonClient</tspan></text></g><g><path d="M0,31.9L155,31.9L155,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="41">redis客户端</tspan></text></g></g><g transform="translate(697.5,689.77)" id="shape159"><path d="M0,0L52,-0.2" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M40,-6.1L52,-0.2L40,5.9" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-7.4" x="14" class="st52">依赖</tspan></text></g><g transform="translate(749.5,756.59)" id="table160"><g><path d="M0,0L212,0L212,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.4" x="26">ShiroRedissionSerialize</tspan></text></g><g><path d="M0,31.9L212,31.9L212,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="74">序列化工具</tspan></text></g></g><g transform="translate(697.5,793.13)" id="shape161"><path d="M0,0L52,-3.5" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M39.6,-8.7L52,-3.5L40.4,3.3" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="-8.7" x="14" class="st52">依赖</tspan></text></g><g transform="translate(578,346.59)" id="table162"><g><path d="M0,0L231,0L231,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.9" x="20" class="st54">SimpleAuthenticationInfo</tspan></text></g><g><path d="M0,31.9L231,31.9L231,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="90">认证对象</tspan></text></g></g><g transform="translate(843,346.59)" id="table163"><g><path d="M0,0L232,0L232,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st45"><tspan y="20.9" x="24" class="st54">SimpleAuthorizationInfo</tspan></text></g><g><path d="M0,31.9L232,31.9L232,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="90">鉴权对象</tspan></text></g></g><g transform="translate(742.5,276.38)" id="shape164"><path d="M0,0L28,0L28,38.2L158.5,38.2L158.5,65.8" fill="none" stroke="#236ea1" stroke-dasharray="2,5"/><path stroke-width="1" d="M158.5,70.2L161.5,65C160.6,65.5,159.6,65.8,158.5,65.8C157.4,65.8,156.4,65.5,155.5,65L158.5,70.2" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="30.7" x="63.3" fill="#ffffff"/><text class="st47"><tspan y="42.7" x="63.1">依赖</tspan></text></g><g transform="translate(434.5,463.95)" id="table165"><g><path d="M0,0L156.5,0L156.5,31.9L0,31.9L0,0z" fill="#fde1e7" stroke="#bc8000"/><text class="st55"><tspan y="20.9" x="19" class="st49">UserAdapterFace</tspan></text></g><g><path d="M0,31.9L156.5,31.9L156.5,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="46">数据库相关</tspan></text></g></g><g transform="translate(693.5,463.95)" id="table166"><g><path d="M0,0L185.5,0L185.5,31.9L0,31.9L0,0z" fill="#fde1e7" stroke="#bc8000"/><text class="st55"><tspan y="20.9" x="17" class="st49">UserAdapterFaceImpl</tspan></text></g><g><path d="M0,31.9L185.5,31.9L185.5,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st47"><tspan y="53.4" x="61">数据库相关</tspan></text></g></g><g transform="translate(374.5,496.95)" id="shape167"><path d="M0,0L55.6,0" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M60,0L54.8,-3C55.3,-2.1,55.6,-1.1,55.6,0C55.6,1.1,55.3,2.1,54.8,3L60,0" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="62.3" height="15" y="-7.5" x="9.6" fill="#ffffff"/><text class="st47"><tspan y="4.5" x="9.5">dubbo调用</tspan></text></g><g transform="translate(591,496.95)" id="shape168"><path d="M0,0L98.5,0" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M106.5,0C106.5,2.2,104.7,4,102.5,4C100.3,4,98.5,2.2,98.5,0C98.5,-2.2,100.3,-4,102.5,-4C104.7,-4,106.5,-2.2,106.5,0" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st53"><tspan y="-7.3" x="39.3" class="st52">实现</tspan></text></g><g transform="translate(786.25,529.95)" id="shape169"><path d="M0,0L.3,29" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path stroke-width="1" stroke-linejoin="round" d="M6.1,16.9L.3,29L-5.9,17.1" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st47"><tspan y="12.7" x="-11.9" class="st52">依赖</tspan></text></g></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 794" width="1122" height="793" id="page7" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st61 {fill:#000000;font-family:宋体;font-size:10pt}
.st59 {fill:#111fc3;font-size:10.5pt;font-weight:bold}
.st58 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st57 {fill:#880503;font-size:10.5pt;font-weight:bold}
.st60 {fill:#c82137;font-size:10.5pt;font-weight:bold}
.st56 {fill:#ffffff;font-family:宋体;font-size:10pt}
.st62 {font-family:SimSun;font-size:9pt}
]]></style><defs/><rect width="1123" height="794" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(160,232)" id="table170"><g><path d="M0,0L122,0L122,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="20.9" x="25" class="st57">CacheWare</tspan></text></g><g><path d="M0,31.9L122,31.9L122,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st58"><tspan y="53.4" x="22">网关缓存仓库</tspan></text></g></g><g transform="translate(149,339)" id="table171"><g><path d="M0,0L288,0L288,30L0,30L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="20" x="80" class="st59">CacheWareService</tspan></text></g><g><path d="M0,30L288,30L288,59L0,59L0,30z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st58"><tspan y="49" x="79">网关缓存仓库服务接口</tspan></text></g><g><path d="M0,59L288,59L288,143L0,143L0,59z" fill="#ffffff" stroke="#7e7e7e"/><text class="st58"><tspan y="86" x="13">清楚缓存：</tspan><tspan class="st60">clearCacheWare</tspan><tspan y="106" x="13">创建缓存：</tspan><tspan class="st60">createCacheWare</tspan><tspan y="126" x="13">查询缓存：</tspan><tspan class="st60">queryCacheWare</tspan></text></g></g><g transform="translate(502,223)" id="table172"><g><path d="M0,0L288,0L288,30L0,30L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="20" x="64" class="st59">CacheWareSyncService</tspan></text></g><g><path d="M0,30L288,30L288,59L0,59L0,30z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st58"><tspan y="49" x="66">网关缓存仓库同步服务接口</tspan></text></g><g><path d="M0,59L288,59L288,169L0,169L0,59z" fill="#ffffff" stroke="#7e7e7e"/><text class="st58"><tspan y="79" x="13">初始化：</tspan><tspan class="st60">initCacheWare</tspan><tspan y="99" x="13">刷新缓存：</tspan><tspan class="st60">refreshCacheWare</tspan><tspan y="119" x="13">资源转换缓存：</tspan><tspan class="st60">resourceConvCacheWare</tspan><tspan y="139" x="13">初始化代理：</tspan><tspan class="st60">initProxy</tspan><tspan y="159" x="13">释放资源：</tspan><tspan class="st60">destoryCacheWare</tspan></text></g></g><g transform="translate(149,543)" id="table173"><g><path d="M0,0L288,0L288,30L0,30L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="20" x="64" class="st59">CacheWareServiceImpl</tspan></text></g><g><path d="M0,30L288,30L288,59L0,59L0,30z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st58"><tspan y="49" x="79">网关缓存仓库服务接口</tspan></text></g><g><path d="M0,59L288,59L288,143L0,143L0,59z" fill="#ffffff" stroke="#7e7e7e"/><text class="st58"><tspan y="86" x="13">清楚缓存：</tspan><tspan class="st60">clearCacheWare</tspan><tspan y="106" x="13">创建缓存：</tspan><tspan class="st60">createCacheWare</tspan><tspan y="126" x="13">查询缓存：</tspan><tspan class="st60">queryCacheWare</tspan></text></g></g><g transform="translate(502,422)" id="table174"><g><path d="M0,0L288,0L288,30L0,30L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="20" x="48" class="st59">CacheWareSyncServiceImpl</tspan></text></g><g><path d="M0,30L288,30L288,59L0,59L0,30z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st58"><tspan y="49" x="66">网关缓存仓库同步服务接口</tspan></text></g><g><path d="M0,59L288,59L288,169L0,169L0,59z" fill="#ffffff" stroke="#7e7e7e"/><text class="st58"><tspan y="79" x="13">初始化：</tspan><tspan class="st60">initCacheWare</tspan><tspan y="99" x="13">刷新缓存：</tspan><tspan class="st60">refreshCacheWare</tspan><tspan y="119" x="13">资源转换缓存：</tspan><tspan class="st60">resourceConvCacheWare</tspan><tspan y="139" x="13">初始化代理：</tspan><tspan class="st60">initProxy</tspan><tspan y="159" x="13">释放资源：</tspan><tspan class="st60">destoryCacheWare</tspan></text></g></g><g transform="translate(293,543)" id="shape175"><path d="M0,0L0,-57" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-65C2.2,-65,4,-63.2,4,-61C4,-58.8,2.2,-57,0,-57C-2.2,-57,-4,-58.8,-4,-61C-4,-63.2,-2.2,-65,0,-65" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st61"><tspan y="-27.3" x="-12" class="st62">实现</tspan></text></g><g transform="translate(646,422)" id="shape176"><path d="M0,0L0,-27" fill="none" stroke="#000000"/><path stroke-width="1" stroke-linejoin="round" d="M0,-35C2.2,-35,4,-33.2,4,-31C4,-28.8,2.2,-27,0,-27C-2.2,-27,-4,-28.8,-4,-31C-4,-33.2,-2.2,-35,0,-35" fill="none" stroke="#000000" stroke-linecap="round"/><text class="st61"><tspan y="-27.3" x="-12" class="st62">实现</tspan></text></g><g transform="translate(502,506)" id="shape177"><path d="M0,0L-137,0L-137,-19.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-137,-24L-140,-18.8C-139.1,-19.3,-138.1,-19.6,-137,-19.6C-135.9,-19.6,-134.9,-19.3,-134,-18.8L-137,-24" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st58"><tspan y="4.5" x="-33">依赖</tspan></text></g><g transform="translate(502,265)" id="shape178"><path d="M0,0L-215.6,0" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-220,0L-214.8,3C-215.3,2.1,-215.6,1.1,-215.6,0C-215.6,-1.1,-215.3,-2.1,-214.8,-3L-220,0" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/></g><g transform="translate(221,339)" id="shape179"><path d="M0,0L0,-36.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,-41L-3,-35.8C-2.1,-36.3,-1.1,-36.6,0,-36.6C1.1,-36.6,2.1,-36.3,3,-35.8L0,-41" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-27.5" x="-12.9" fill="#ffffff"/><text class="st58"><tspan y="-15.5" x="-13">依赖</tspan></text></g><g transform="translate(149,578.75)" id="shape180"><path d="M0,0L-32,0L-32,-297.3L6.6,-297.3" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M11,-297.3L5.8,-300.3C6.3,-299.4,6.6,-298.3,6.6,-297.3C6.6,-296.2,6.3,-295.1,5.8,-294.3L11,-297.3" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st58"><tspan y="4.5" x="-33">依赖</tspan></text></g><g transform="translate(502,464)" id="shape181"><path d="M0,0L-33,0L-33,-182.5L-215.6,-182.5" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M-220,-182.5L-214.8,-179.5C-215.3,-180.4,-215.6,-181.4,-215.6,-182.5C-215.6,-183.6,-215.3,-184.6,-214.8,-185.5L-220,-182.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-7.5" x="-32.9" fill="#ffffff"/><text class="st58"><tspan y="4.5" x="-33">依赖</tspan></text></g><g transform="translate(835,489)" id="table182"><g><path d="M0,0L204,0L204,31.9L0,31.9L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="20.9" x="18" class="st59">ResourceBridgeService</tspan></text></g><g><path d="M0,31.9L204,31.9L204,66L0,66L0,31.9z" fill="#e8eff8" stroke="#7e7e7e"/><text class="st58"><tspan y="53.4" x="70">资源持操作</tspan></text></g></g><g transform="translate(790,506)" id="shape183"><path d="M0,0L13,0L40.6,-0.4" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M45,-0.5L39.8,-3.4C40.3,-2.5,40.6,-1.5,40.6,-0.4C40.6,.7,40.3,1.7,39.9,2.6L45,-0.5" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="-8" x="6.6" fill="#ffffff"/><text class="st58"><tspan y="4" x="6.5">依赖</tspan></text></g><g transform="translate(502,641)" id="table184"><g><path d="M0,0L174,0L174,32L0,32L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="21" x="19" class="st57">ApplicationConfig</tspan></text></g></g><g transform="translate(711,641)" id="table185"><g><path d="M0,0L174,0L174,32L0,32L0,0z" fill="#3498db" stroke="#7e7e7e"/><text class="st56"><tspan y="21" x="31" class="st57">RegistryConfig</tspan></text></g></g><g transform="translate(574,590)" id="shape186"><path d="M0,0L0,43.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,48L3,42.8C2.1,43.3,1.1,43.6,0,43.6C-1.1,43.6,-2.1,43.3,-3,42.8L0,48" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="12.5" x="-12.9" fill="#ffffff"/><text class="st58"><tspan y="24.5" x="-13">依赖</tspan></text></g><g transform="translate(765,595)" id="shape187"><path d="M0,0L0,38.6" fill="none" stroke="#236ea1"/><path stroke-width="1" d="M0,43L3,37.8C2.1,38.3,1.1,38.6,0,38.6C-1.1,38.6,-2.1,38.3,-3,37.8L0,43" fill="#236ea1" stroke="#236ea1" stroke-linecap="round"/><rect width="26.6" height="15" y="12.5" x="-12.9" fill="#ffffff"/><text class="st58"><tspan y="24.5" x="-13">依赖</tspan></text></g></svg><svg xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" viewBox="0 0 1123 794" width="1122" height="793" id="page8" preserveAspectRadio="xMinYMin meet" xmlns:xlink="http://www.w3.org/1999/xlink"><style type="text/css"><![CDATA[
.st65 {fill:#1f6391;font-family:宋体;font-size:10pt}
.st63 {fill:#303030;font-family:Arial;font-size:10pt}
.st64 {fill:#303030;font-family:宋体;font-size:10pt}
]]></style><defs><linearGradient y1="-9" gradientUnits="userSpaceOnUse" id="lg1" y2="39" x1="19" x2="40"><stop stop-color="#373737" offset="0"/><stop stop-color="#494949" offset="0.52"/><stop stop-color="#474747" offset="0.03"/></linearGradient><linearGradient y1="0%" id="lg2" y2="0%" x1="100%" x2="0%"><stop stop-color="#343434" offset="0.14"/><stop stop-color="#383838" offset="0.66"/><stop stop-color="#353535" offset="1"/></linearGradient><linearGradient y1="-6" gradientUnits="userSpaceOnUse" id="lg3" y2="27" x1="12" x2="28"><stop stop-color="#4a4a4a" offset="0.45"/><stop stop-color="#565656" offset="0.49"/><stop stop-color="#414141" offset="0.51"/></linearGradient><linearGradient y1="0%" id="lg4" y2="0%" x1="100%" x2="0%"><stop stop-color="#414141" offset="0"/><stop stop-color="#4c4c4c" offset="0.25"/><stop stop-color="#353535" offset="1"/></linearGradient><linearGradient y1="30" gradientUnits="userSpaceOnUse" id="lg5" y2="26" x1="18" x2="-5"><stop stop-color="#8f8f8f" offset="0" stop-opacity="0.2"/><stop stop-color="#686868" offset="0.52" stop-opacity="0"/></linearGradient><clipPath id="clip1"><path d="M0,0L0,1.1L12.4,6.9L12.4,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg6" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg7" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip2"><path d="M0,0L0,1.3L12.4,7L12.4,5.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg8" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg9" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip3"><path d="M0,0L0,1.3L12.5,7.1L12.5,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg10" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg11" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip4"><path d="M0,0L0,1.3L12.3,7L12.3,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg12" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg13" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip5"><path d="M0,0L0,1.1L11.2,6L11.2,4.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg14" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg15" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg16" y2="0%" x1="0%" x2="100%"><stop stop-color="#00538e" offset="0"/><stop stop-color="#00406e" offset="1"/></linearGradient><clipPath id="clip6"><path d="M0,0L0,1.4L11.2,6.4L11.2,5.2L0,0z"/></clipPath><linearGradient y1="0%" id="lg17" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg18" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip7"><path d="M0,0L11.3,5.1L11.3,6.3L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg19" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg20" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip8"><path d="M0,0L11.3,5.3L11.3,6.5L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg21" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg22" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg23" y2="100%" x1="0%" x2="0%"><stop stop-color="#40c2f2" offset="0"/><stop stop-color="#45c4f3" offset="0.75" stop-opacity="0"/></linearGradient><linearGradient y1="0%" id="lg24" y2="100%" x1="0%" x2="0%"><stop stop-color="#40c2f2" offset="0.29" stop-opacity="0.78"/><stop stop-color="#45c4f3" offset="0.72" stop-opacity="0"/></linearGradient><linearGradient y1="4" gradientUnits="userSpaceOnUse" id="lg25" y2="2" x1="10" x2="-0"><stop stop-color="#40c2f2" offset="0.07"/><stop stop-color="#45c4f3" offset="0.41" stop-opacity="0"/></linearGradient><linearGradient y1="4" gradientUnits="userSpaceOnUse" id="lg26" y2="2" x1="10" x2="-0"><stop stop-color="#40c2f2" offset="0" stop-opacity="0.9"/><stop stop-color="#45c4f3" offset="0.41" stop-opacity="0"/></linearGradient><radialGradient cx="0" cy="0" fx="0" fy="0" gradientUnits="userSpaceOnUse" id="rg1" r="41"><stop stop-color="#54a0f9" offset="0"/><stop stop-color="#4195f8" offset="1"/></radialGradient><linearGradient y1="0%" id="lg27" y2="100%" x1="0%" x2="0%"><stop stop-color="#a1d979" offset="0"/><stop stop-color="#7ac941" offset="1"/></linearGradient><clipPath id="clip9"><path d="M0,0L0,1.1L12.4,6.9L12.4,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg28" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg29" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip10"><path d="M0,0L0,1.3L12.4,7L12.4,5.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg30" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg31" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip11"><path d="M0,0L0,1.3L12.5,7.1L12.5,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg32" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg33" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip12"><path d="M0,0L0,1.3L12.3,7L12.3,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg34" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg35" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip13"><path d="M0,0L0,1.1L11.2,6L11.2,4.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg36" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg37" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip14"><path d="M0,0L0,1.4L11.2,6.4L11.2,5.2L0,0z"/></clipPath><linearGradient y1="0%" id="lg38" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg39" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip15"><path d="M0,0L11.3,5.1L11.3,6.3L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg40" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg41" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip16"><path d="M0,0L11.3,5.3L11.3,6.5L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg42" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg43" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip17"><path d="M0,0L0,1.1L12.4,6.9L12.4,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg44" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg45" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip18"><path d="M0,0L0,1.3L12.4,7L12.4,5.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg46" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg47" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip19"><path d="M0,0L0,1.3L12.5,7.1L12.5,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg48" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg49" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip20"><path d="M0,0L0,1.3L12.3,7L12.3,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg50" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg51" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip21"><path d="M0,0L0,1.1L11.2,6L11.2,4.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg52" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg53" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip22"><path d="M0,0L0,1.4L11.2,6.4L11.2,5.2L0,0z"/></clipPath><linearGradient y1="0%" id="lg54" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg55" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip23"><path d="M0,0L11.3,5.1L11.3,6.3L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg56" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg57" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip24"><path d="M0,0L11.3,5.3L11.3,6.5L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg58" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg59" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg60" y2="0%" x1="0%" x2="100%"><stop stop-color="#b6cbf2" offset="0"/><stop stop-color="#dee7f9" offset="0.25"/><stop stop-color="#b6cbf2" offset="0.5"/><stop stop-color="#a0b2d5" offset="0.75"/><stop stop-color="#aec2e7" offset="1"/></linearGradient><linearGradient y1="12" gradientUnits="userSpaceOnUse" id="lg61" y2="-2" x1="9" x2="12"><stop stop-color="#d7e2f7" offset="0.2"/><stop stop-color="#aec2e7" offset="1"/></linearGradient><linearGradient y1="-9" gradientUnits="userSpaceOnUse" id="lg62" y2="40" x1="20" x2="42"><stop stop-color="#373737" offset="0"/><stop stop-color="#494949" offset="0.52"/><stop stop-color="#474747" offset="0.03"/></linearGradient><linearGradient y1="-6" gradientUnits="userSpaceOnUse" id="lg63" y2="28" x1="12" x2="29"><stop stop-color="#4a4a4a" offset="0.45"/><stop stop-color="#565656" offset="0.49"/><stop stop-color="#414141" offset="0.51"/></linearGradient><linearGradient y1="31" gradientUnits="userSpaceOnUse" id="lg64" y2="27" x1="19" x2="-5"><stop stop-color="#8f8f8f" offset="0" stop-opacity="0.2"/><stop stop-color="#686868" offset="0.52" stop-opacity="0"/></linearGradient><clipPath id="clip25"><path d="M0,0L0,1.2L12.9,7.2L12.9,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg65" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg66" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip26"><path d="M0,0L0,1.3L12.9,7.2L12.9,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg67" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg68" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip27"><path d="M0,0L0,1.4L13,7.4L13,6.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg69" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg70" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip28"><path d="M0,0L0,1.4L12.8,7.2L12.8,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg71" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg72" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip29"><path d="M0,0L0,1.2L11.6,6.2L11.6,5.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg73" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg74" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip30"><path d="M0,0L0,1.5L11.6,6.7L11.6,5.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg75" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg76" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip31"><path d="M0,0L11.7,5.3L11.7,6.5L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg77" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg78" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip32"><path d="M0,0L11.7,5.5L11.7,6.8L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg79" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg80" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg81" y2="100%" x1="0%" x2="0%"><stop stop-color="#d3a717" offset="0.36"/><stop stop-color="#a8830d" offset="1"/></linearGradient><linearGradient y1="0%" id="lg82" y2="100%" x1="0%" x2="0%"><stop stop-color="#d6b14f" offset="1"/><stop stop-color="#a98013" offset="1"/></linearGradient><linearGradient y1="0%" id="lg83" y2="0%" x1="0%" x2="100%"><stop stop-color="#ffffff" offset="0" stop-opacity="0.12"/><stop stop-color="#ffffff" offset="0.55" stop-opacity="0.05"/><stop stop-color="#ffffff" offset="1" stop-opacity="0.02"/></linearGradient><radialGradient cx="0" cy="0" fx="0" fy="0" gradientUnits="userSpaceOnUse" id="rg2" r="27.1"><stop stop-color="#54a0f9" offset="0"/><stop stop-color="#4195f8" offset="1"/></radialGradient><clipPath id="clip33"><path d="M0,0L0,1.2L12.9,7.2L12.9,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg84" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg85" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip34"><path d="M0,0L0,1.3L12.9,7.2L12.9,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg86" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg87" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip35"><path d="M0,0L0,1.4L13,7.4L13,6.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg88" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg89" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip36"><path d="M0,0L0,1.4L12.8,7.2L12.8,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg90" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg91" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip37"><path d="M0,0L0,1.2L11.6,6.2L11.6,5.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg92" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg93" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip38"><path d="M0,0L0,1.5L11.6,6.7L11.6,5.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg94" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg95" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip39"><path d="M0,0L11.7,5.3L11.7,6.5L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg96" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg97" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip40"><path d="M0,0L11.7,5.5L11.7,6.8L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg98" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg99" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip41"><path d="M0,0L0,1.2L12.8,7L12.8,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg100" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg101" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip42"><path d="M0,0L0,1.3L12.8,7.1L12.8,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg102" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg103" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip43"><path d="M0,0L0,1.4L12.8,7.3L12.8,6L0,0z"/></clipPath><linearGradient y1="0%" id="lg104" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg105" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip44"><path d="M0,0L0,1.4L12.7,7.1L12.7,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg106" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg107" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip45"><path d="M0,0L0,1.2L11.5,6.1L11.5,5L0,0z"/></clipPath><linearGradient y1="0%" id="lg108" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg109" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip46"><path d="M0,0L0,1.4L11.6,6.6L11.6,5.3L0,0z"/></clipPath><linearGradient y1="0%" id="lg110" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg111" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip47"><path d="M0,0L11.6,5.2L11.6,6.4L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg112" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg113" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip48"><path d="M0,0L11.6,5.4L11.6,6.6L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg114" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg115" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg116" y2="100%" x1="0%" x2="0%"><stop stop-color="#6eadd9" offset="0"/><stop stop-color="#0066ae" offset="1"/></linearGradient><linearGradient y1="-1" gradientUnits="userSpaceOnUse" id="lg117" y2="10" x1="6" x2="4"><stop stop-color="#ffffff" offset="0" stop-opacity="0.33"/><stop stop-color="#ffffff" offset="0.44" stop-opacity="0.11"/><stop stop-color="#ffffff" offset="1" stop-opacity="0"/></linearGradient><linearGradient y1="4" gradientUnits="userSpaceOnUse" id="lg118" y2="5" x1="-1" x2="7"><stop stop-color="#ffffff" offset="0" stop-opacity="0.37"/><stop stop-color="#ffffff" offset="1" stop-opacity="0"/></linearGradient><clipPath id="clip49"><path d="M0,0L0,1.2L12.8,7L12.8,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg119" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg120" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip50"><path d="M0,0L0,1.3L12.8,7.1L12.8,5.7L0,0z"/></clipPath><linearGradient y1="0%" id="lg121" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg122" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip51"><path d="M0,0L0,1.4L12.8,7.3L12.8,6L0,0z"/></clipPath><linearGradient y1="0%" id="lg123" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg124" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip52"><path d="M0,0L0,1.4L12.7,7.1L12.7,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg125" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg126" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip53"><path d="M0,0L0,1.2L11.5,6.1L11.5,5L0,0z"/></clipPath><linearGradient y1="0%" id="lg127" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg128" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip54"><path d="M0,0L0,1.4L11.6,6.6L11.6,5.3L0,0z"/></clipPath><linearGradient y1="0%" id="lg129" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg130" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip55"><path d="M0,0L11.6,5.2L11.6,6.4L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg131" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg132" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip56"><path d="M0,0L11.6,5.4L11.6,6.6L0,1.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg133" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg134" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="32" gradientUnits="userSpaceOnUse" id="lg135" y2="27" x1="19" x2="-5"><stop stop-color="#8f8f8f" offset="0" stop-opacity="0.2"/><stop stop-color="#686868" offset="0.52" stop-opacity="0"/></linearGradient><clipPath id="clip57"><path d="M0,0L0,1.2L12.9,7.2L12.9,6L0,0z"/></clipPath><linearGradient y1="0%" id="lg136" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg137" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip58"><path d="M0,0L0,1.3L12.9,7.3L12.9,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg138" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg139" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip59"><path d="M0,0L0,1.4L13,7.4L13,6.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg140" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg141" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip60"><path d="M0,0L0,1.4L12.8,7.3L12.8,6L0,0z"/></clipPath><linearGradient y1="0%" id="lg142" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg143" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip61"><path d="M0,0L0,1.2L11.6,6.3L11.6,5.2L0,0z"/></clipPath><linearGradient y1="0%" id="lg144" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg145" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip62"><path d="M0,0L0,1.5L11.7,6.7L11.7,5.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg146" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg147" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip63"><path d="M0,0L11.8,5.3L11.8,6.6L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg148" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg149" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip64"><path d="M0,0L11.8,5.5L11.8,6.8L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg150" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg151" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="-2" gradientUnits="userSpaceOnUse" id="lg152" y2="37" x1="19" x2="5"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-1" gradientUnits="userSpaceOnUse" id="lg153" y2="8" x1="5" x2="2"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-0" gradientUnits="userSpaceOnUse" id="lg154" y2="7" x1="4" x2="1"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-1" gradientUnits="userSpaceOnUse" id="lg155" y2="12" x1="9" x2="4"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-0" gradientUnits="userSpaceOnUse" id="lg156" y2="8" x1="4" x2="1"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-1" gradientUnits="userSpaceOnUse" id="lg157" y2="13" x1="9" x2="4"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-1" gradientUnits="userSpaceOnUse" id="lg158" y2="10" x1="7" x2="3"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-0" gradientUnits="userSpaceOnUse" id="lg159" y2="8" x1="3" x2="1"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><linearGradient y1="-1" gradientUnits="userSpaceOnUse" id="lg160" y2="10" x1="6" x2="2"><stop stop-color="#e3600b" offset="0"/><stop stop-color="#f7a066" offset="0.69"/><stop stop-color="#d5622a" offset="0.97"/></linearGradient><clipPath id="clip65"><path d="M0,0L0,1.2L13,7.2L13,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg161" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg162" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip66"><path d="M0,0L0,1.3L13,7.3L13,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg163" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg164" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip67"><path d="M0,0L0,1.4L13.1,7.4L13.1,6.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg165" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg166" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip68"><path d="M0,0L0,1.4L12.9,7.3L12.9,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg167" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg168" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip69"><path d="M0,0L0,1.2L11.7,6.3L11.7,5.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg169" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg170" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip70"><path d="M0,0L0,1.5L11.8,6.7L11.8,5.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg171" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg172" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip71"><path d="M0,0L11.9,5.3L11.9,6.6L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg173" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg174" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip72"><path d="M0,0L11.9,5.5L11.9,6.8L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg175" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg176" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="4" gradientUnits="userSpaceOnUse" id="lg177" y2="2" x1="11" x2="-0"><stop stop-color="#40c2f2" offset="0.07"/><stop stop-color="#45c4f3" offset="0.41" stop-opacity="0"/></linearGradient><linearGradient y1="4" gradientUnits="userSpaceOnUse" id="lg178" y2="2" x1="11" x2="-0"><stop stop-color="#40c2f2" offset="0" stop-opacity="0.9"/><stop stop-color="#45c4f3" offset="0.41" stop-opacity="0"/></linearGradient><linearGradient y1="7" gradientUnits="userSpaceOnUse" id="lg179" y2="4" x1="-1" x2="19"><stop stop-color="#ffffff" offset="0.07" stop-opacity="0.44"/><stop stop-color="#000000" offset="0.2" stop-opacity="0"/></linearGradient><linearGradient y1="13" gradientUnits="userSpaceOnUse" id="lg180" y2="-1" x1="10" x2="8"><stop stop-color="#ffffff" offset="0" stop-opacity="0.4"/><stop stop-color="#000000" offset="0.24" stop-opacity="0"/></linearGradient><linearGradient y1="1" gradientUnits="userSpaceOnUse" id="lg181" y2="3" x1="-0" x2="5"><stop stop-color="#2e2e2e" offset="0.22"/><stop stop-color="#7c7c7c" offset="0.43"/><stop stop-color="#1e1e1e" offset="0.79"/></linearGradient><linearGradient y1="0%" id="lg182" y2="100%" x1="0%" x2="0%"><stop stop-color="#bcbcbc" offset="0"/><stop stop-color="#f6f6f6" offset="0.08"/><stop stop-color="#b2b2b2" offset="0.33"/><stop stop-color="#f4f4f4" offset="0.82"/><stop stop-color="#a5a5a5" offset="1"/></linearGradient><linearGradient y1="4" gradientUnits="userSpaceOnUse" id="lg183" y2="26" x1="-3" x2="24"><stop stop-color="#ffffff" offset="0" stop-opacity="0.33"/><stop stop-color="#000000" offset="0.6" stop-opacity="0.02"/></linearGradient><linearGradient y1="7" gradientUnits="userSpaceOnUse" id="lg184" y2="11" x1="-2" x2="12"><stop stop-color="#f4f7fb" offset="0.38" stop-opacity="0"/><stop stop-color="#a2bbdc" offset="1"/></linearGradient><linearGradient y1="21" gradientUnits="userSpaceOnUse" id="lg185" y2="2" x1="-3" x2="14"><stop stop-color="#bed0e6" offset="0.4" stop-opacity="0"/><stop stop-color="#90aed5" offset="1"/></linearGradient><linearGradient y1="16" gradientUnits="userSpaceOnUse" id="lg186" y2="2" x1="23" x2="-1"><stop stop-color="#bed0e6" offset="0.4" stop-opacity="0"/><stop stop-color="#90aed5" offset="1"/></linearGradient><linearGradient y1="-3" gradientUnits="userSpaceOnUse" id="lg187" y2="18" x1="17" x2="9"><stop stop-color="#bed0e6" offset="0.45" stop-opacity="0"/><stop stop-color="#90aed5" offset="1" stop-opacity="0.27"/></linearGradient><clipPath id="clip73"><path d="M0,0L0,1.2L13,7.2L13,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg188" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg189" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip74"><path d="M0,0L0,1.3L13,7.3L13,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg190" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg191" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip75"><path d="M0,0L0,1.4L13.1,7.4L13.1,6.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg192" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg193" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip76"><path d="M0,0L0,1.4L12.9,7.3L12.9,5.9L0,0z"/></clipPath><linearGradient y1="0%" id="lg194" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg195" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip77"><path d="M0,0L0,1.2L11.7,6.3L11.7,5.1L0,0z"/></clipPath><linearGradient y1="0%" id="lg196" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg197" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip78"><path d="M0,0L0,1.5L11.8,6.7L11.8,5.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg198" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg199" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip79"><path d="M0,0L11.9,5.3L11.9,6.6L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg200" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg201" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip80"><path d="M0,0L11.9,5.5L11.9,6.8L0,1.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg202" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg203" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="-10" gradientUnits="userSpaceOnUse" id="lg204" y2="43" x1="22" x2="45"><stop stop-color="#373737" offset="0"/><stop stop-color="#494949" offset="0.52"/><stop stop-color="#474747" offset="0.03"/></linearGradient><linearGradient y1="-6" gradientUnits="userSpaceOnUse" id="lg205" y2="30" x1="13" x2="31"><stop stop-color="#4a4a4a" offset="0.45"/><stop stop-color="#565656" offset="0.49"/><stop stop-color="#414141" offset="0.51"/></linearGradient><linearGradient y1="34" gradientUnits="userSpaceOnUse" id="lg206" y2="29" x1="20" x2="-5"><stop stop-color="#8f8f8f" offset="0" stop-opacity="0.2"/><stop stop-color="#686868" offset="0.52" stop-opacity="0"/></linearGradient><clipPath id="clip81"><path d="M0,0L0,1.3L13.9,7.7L13.9,6.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg207" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg208" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip82"><path d="M0,0L0,1.4L13.9,7.8L13.9,6.2L0,0z"/></clipPath><linearGradient y1="0%" id="lg209" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg210" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip83"><path d="M0,0L0,1.5L14,8L14,6.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg211" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg212" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip84"><path d="M0,0L0,1.5L13.8,7.8L13.8,6.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg213" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg214" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip85"><path d="M0,0L0,1.3L12.5,6.7L12.5,5.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg215" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg216" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip86"><path d="M0,0L0,1.6L12.6,7.2L12.6,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg217" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg218" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip87"><path d="M0,0L12.7,5.7L12.7,7.1L0,1.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg219" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg220" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip88"><path d="M0,0L12.7,5.9L12.7,7.3L0,1.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg221" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg222" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="13" gradientUnits="userSpaceOnUse" id="lg223" y2="-2" x1="10" x2="13"><stop stop-color="#d7e2f7" offset="0.2"/><stop stop-color="#aec2e7" offset="1"/></linearGradient><clipPath id="clip89"><path d="M0,0L0,1.3L13.9,7.7L13.9,6.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg224" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg225" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip90"><path d="M0,0L0,1.4L13.9,7.8L13.9,6.2L0,0z"/></clipPath><linearGradient y1="0%" id="lg226" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg227" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip91"><path d="M0,0L0,1.5L14,8L14,6.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg228" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg229" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip92"><path d="M0,0L0,1.5L13.8,7.8L13.8,6.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg230" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg231" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip93"><path d="M0,0L0,1.3L12.5,6.7L12.5,5.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg232" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg233" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip94"><path d="M0,0L0,1.6L12.6,7.2L12.6,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg234" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg235" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip95"><path d="M0,0L12.7,5.7L12.7,7.1L0,1.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg236" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg237" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip96"><path d="M0,0L12.7,5.9L12.7,7.3L0,1.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg238" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg239" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip97"><path d="M0,0L0,1.3L13.9,7.7L13.9,6.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg240" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg241" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip98"><path d="M0,0L0,1.4L13.9,7.8L13.9,6.2L0,0z"/></clipPath><linearGradient y1="0%" id="lg242" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg243" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip99"><path d="M0,0L0,1.5L14,8L14,6.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg244" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg245" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip100"><path d="M0,0L0,1.5L13.8,7.8L13.8,6.4L0,0z"/></clipPath><linearGradient y1="0%" id="lg246" y2="0%" x1="0%" x2="100%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><linearGradient y1="0%" id="lg247" y2="100%" x1="0%" x2="0%"><stop stop-color="#333333" offset="0"/><stop stop-color="#000000" offset="1"/></linearGradient><clipPath id="clip101"><path d="M0,0L0,1.3L12.5,6.7L12.5,5.5L0,0z"/></clipPath><linearGradient y1="0%" id="lg248" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg249" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip102"><path d="M0,0L0,1.6L12.6,7.2L12.6,5.8L0,0z"/></clipPath><linearGradient y1="0%" id="lg250" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg251" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip103"><path d="M0,0L12.7,5.7L12.7,7.1L0,1.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg252" y2="0%" x1="0%" x2="100%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg253" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0"/><stop stop-color="#004371" offset="1"/></linearGradient><clipPath id="clip104"><path d="M0,0L12.7,5.9L12.7,7.3L0,1.6L0,0z"/></clipPath><linearGradient y1="0%" id="lg254" y2="100%" x1="0%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient><linearGradient y1="0%" id="lg255" y2="0%" x1="100%" x2="0%"><stop stop-color="#006fbd" offset="0.63"/><stop stop-color="#004371" offset="1"/></linearGradient></defs><rect width="1123" height="794" y="0" x="0" fill="#ffffff" stroke="#808080"/><g transform="translate(250.05,240.61)"><path transform="translate(0.13,17.76)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape188" fill="#0078aa"/><path transform="translate(0.13,17.76)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape189" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.76)" d="M0,0L0,17.8L69.5,17.8L69.5,0L0,0z" id="shape190" fill="#0078aa"/><path transform="translate(0,12.76)" d="M0,0L0,17.8L69.5,17.8L69.5,0L0,0z" id="shape191" fill="#0078aa"/><path transform="translate(0.13,0)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape192" fill="#00b4ff"/><path transform="translate(0.13,0)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape193" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.21)" d="M0,0L.1,17.8" id="shape194" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(69.46,12.21)" d="M0,0L.1,17.8" id="shape195" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0.13,17.76)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape196" fill="#0078aa"/><path transform="translate(0.13,17.76)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape197" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.76)" d="M0,0L0,17.8L69.5,17.8L69.5,0L0,0z" id="shape198" fill="#0078aa"/><path transform="translate(0,12.76)" d="M0,0L0,17.8L69.5,17.8L69.5,0L0,0z" id="shape199" fill="#0078aa"/><path transform="translate(0.13,0)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape200" fill="#00b4ff"/><path transform="translate(0.13,0)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape201" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.21)" d="M0,0L.1,17.8" id="shape202" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(69.46,12.21)" d="M0,0L.1,17.8" id="shape203" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0.13,17.76)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape204" fill="#0078aa"/><path transform="translate(0.13,17.76)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape205" fill="#0078aa" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.76)" d="M0,0L0,17.8L69.5,17.8L69.5,0L0,0z" id="shape206" fill="#0078aa"/><path transform="translate(0,12.76)" d="M0,0L0,17.8L69.5,17.8L69.5,0L0,0z" id="shape207" fill="#0078aa"/><path transform="translate(0.13,0)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape208" fill="#00b4ff"/><path transform="translate(0.13,0)" d="M34.8,0C15.6,0,0,5.6,0,12.5C0,19.4,15.6,25,34.8,25C54,25,69.6,19.4,69.6,12.5C69.6,5.6,54,0,34.8,0z" id="shape209" fill="#00b3fe" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.21)" d="M0,0L.1,17.8" id="shape210" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(69.46,12.21)" d="M0,0L.1,17.8" id="shape211" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><g transform="translate(10.6,2.91)"><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape212" fill="#000000"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape213" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape214" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape215" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape216" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape217" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape218" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape219" fill="#000000"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape220" fill="#ffffff"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape221" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape222" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape223" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape224" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape225" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape226" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape227" fill="#ffffff"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape228" fill="#000000"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape229" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape230" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape231" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape232" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape233" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape234" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape235" fill="#000000"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape236" fill="#ffffff"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape237" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape238" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape239" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape240" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape241" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape242" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape243" fill="#ffffff"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape244" fill="#000000"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape245" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape246" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape247" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape248" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape249" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape250" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape251" fill="#000000"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape252" fill="#ffffff"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape253" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape254" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape255" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape256" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape257" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape258" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape259" fill="#ffffff"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape260" fill="#000000"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape261" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape262" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape263" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape264" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape265" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape266" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape267" fill="#000000"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape268" fill="#000000"/><path transform="translate(24.92,0.55)" d="M0,6.1L5.2,7.9L17.4,2.6L22.9,4.4L19.9,0L5.6,0L11.5,1.3L0,6.1z" id="shape269" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape270" fill="#000000"/><path transform="translate(0,9.85)" d="M22.8,1.7L17.8,0L6,5.3L0,3.5L2.9,8.3L17.8,8.3L11.4,6.7L22.8,1.7z" id="shape271" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape272" fill="#000000"/><path transform="translate(1.19,-0)" d="M0,1.8L5.2,0L17.4,5L22.9,3.6L20,8L5.6,8L11.5,6.7L0,1.8z" id="shape273" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape274" fill="#000000"/><path transform="translate(24.12,10.69)" d="M22.8,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.8,6.2z" id="shape275" fill="#000000"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape276" fill="#ffffff"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape277" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape278" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape279" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape280" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape281" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape282" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape283" fill="#ffffff"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape284" fill="#ffffff"/><path transform="translate(25.32,0.97)" d="M0,6.3L5.2,7.9L17.4,2.6L22.9,4.4L20,0L5.6,0L11.5,1.3L0,6.3z" id="shape285" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape286" fill="#ffffff"/><path transform="translate(0.4,10.26)" d="M22.9,1.8L17.8,0L6,5.3L0,3.5L2.9,8.5L17.8,8.5L11.4,6.7L22.9,1.8z" id="shape287" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape288" fill="#ffffff"/><path transform="translate(1.73,0.55)" d="M0,1.7L5,0L17.4,4.9L22.8,3.5L19.9,7.9L5.4,7.9L11.4,6.7L0,1.7z" id="shape289" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape290" fill="#ffffff"/><path transform="translate(24.52,11.1)" d="M22.9,6.2L17.8,8L6,2.6L0,4.4L2.9,0L17.8,0L11.4,1.4L22.9,6.2z" id="shape291" fill="#ffffff"/></g><g transform="translate(27.57,26.09)"><path transform="translate(0,0)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape292" fill="#000000"/><path transform="translate(0.74,0.83)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape293" fill="#ffffff"/><path transform="translate(0.4,0.42)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape294" fill="#e5405d"/><path transform="translate(0,0)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape295" fill="#000000"/><path transform="translate(0.74,0.83)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape296" fill="#ffffff"/><path transform="translate(0.4,0.42)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape297" fill="#e5405d"/><path transform="translate(0,0)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape298" fill="#000000"/><path transform="translate(0.74,0.83)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape299" fill="#ffffff"/><path transform="translate(0.4,0.42)" d="M7,0C3.1,0,0,3.3,0,7.3C0,11.3,3.1,14.6,7,14.6C10.8,14.6,13.9,11.3,13.9,7.3C13.9,3.3,10.8,0,7,0z" id="shape300" fill="#e5405d"/></g><text class="st63"><tspan y="59.7" x="9.3">公网路由</tspan></text></g><g transform="translate(484.33,349.82)"><path transform="translate(0.12,17.13)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape301" fill="#0078aa"/><path transform="translate(0.12,17.13)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape302" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.31)" d="M0,0L0,17.1L67,17.1L67,0L0,0z" id="shape303" fill="#0078aa"/><path transform="translate(0,12.31)" d="M0,0L0,17.1L67,17.1L67,0L0,0z" id="shape304" fill="#0078aa"/><path transform="translate(0.12,0)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape305" fill="#00b4ff"/><path transform="translate(0.12,0)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape306" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,11.78)" d="M0,0L.1,17.1" id="shape307" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(67,11.78)" d="M0,0L.1,17.1" id="shape308" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0.12,17.13)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape309" fill="#0078aa"/><path transform="translate(0.12,17.13)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape310" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.31)" d="M0,0L0,17.1L67,17.1L67,0L0,0z" id="shape311" fill="#0078aa"/><path transform="translate(0,12.31)" d="M0,0L0,17.1L67,17.1L67,0L0,0z" id="shape312" fill="#0078aa"/><path transform="translate(0.12,0)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape313" fill="#00b4ff"/><path transform="translate(0.12,0)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape314" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,11.78)" d="M0,0L.1,17.1" id="shape315" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(67,11.78)" d="M0,0L.1,17.1" id="shape316" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0.12,17.13)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape317" fill="#0078aa"/><path transform="translate(0.12,17.13)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape318" fill="#0078aa" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,12.31)" d="M0,0L0,17.1L67,17.1L67,0L0,0z" id="shape319" fill="#0078aa"/><path transform="translate(0,12.31)" d="M0,0L0,17.1L67,17.1L67,0L0,0z" id="shape320" fill="#0078aa"/><path transform="translate(0.12,0)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape321" fill="#00b4ff"/><path transform="translate(0.12,0)" d="M33.6,0C15,0,0,5.4,0,12C0,18.7,15,24.1,33.6,24.1C52.1,24.1,67.1,18.7,67.1,12C67.1,5.4,52.1,0,33.6,0z" id="shape322" fill="#00b3fe" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(0,11.78)" d="M0,0L.1,17.1" id="shape323" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><path transform="translate(67,11.78)" d="M0,0L.1,17.1" id="shape324" fill="#ffffff" stroke="#aae6ff" stroke-linecap="round"/><g transform="translate(10.23,2.81)"><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape325" fill="#000000"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape326" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape327" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape328" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape329" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape330" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape331" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape332" fill="#000000"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape333" fill="#ffffff"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape334" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape335" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape336" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape337" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape338" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape339" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape340" fill="#ffffff"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape341" fill="#000000"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape342" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape343" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape344" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape345" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape346" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape347" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape348" fill="#000000"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape349" fill="#ffffff"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape350" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape351" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape352" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape353" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape354" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape355" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape356" fill="#ffffff"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape357" fill="#000000"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape358" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape359" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape360" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape361" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape362" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape363" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape364" fill="#000000"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape365" fill="#ffffff"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape366" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape367" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape368" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape369" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape370" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape371" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape372" fill="#ffffff"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape373" fill="#000000"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape374" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape375" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape376" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape377" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape378" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape379" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape380" fill="#000000"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape381" fill="#000000"/><path transform="translate(24.04,0.53)" d="M0,5.9L5,7.6L16.8,2.5L22.1,4.3L19.2,0L5.4,0L11.1,1.2L0,5.9z" id="shape382" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape383" fill="#000000"/><path transform="translate(0,9.5)" d="M22,1.6L17.1,0L5.8,5.1L0,3.3L2.8,8L17.1,8L11,6.4L22,1.6z" id="shape384" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape385" fill="#000000"/><path transform="translate(1.15,-0)" d="M0,1.7L5,0L16.8,4.8L22.1,3.5L19.3,7.8L5.4,7.8L11.1,6.4L0,1.7z" id="shape386" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape387" fill="#000000"/><path transform="translate(23.27,10.31)" d="M22,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22,6z" id="shape388" fill="#000000"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape389" fill="#ffffff"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape390" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape391" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape392" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape393" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape394" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape395" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape396" fill="#ffffff"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape397" fill="#ffffff"/><path transform="translate(24.42,0.93)" d="M0,6L5,7.6L16.8,2.5L22.1,4.3L19.3,0L5.4,0L11.1,1.2L0,6z" id="shape398" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape399" fill="#ffffff"/><path transform="translate(0.38,9.9)" d="M22.1,1.7L17.1,0L5.8,5.1L0,3.3L2.8,8.2L17.1,8.2L11,6.4L22.1,1.7z" id="shape400" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape401" fill="#ffffff"/><path transform="translate(1.67,0.53)" d="M0,1.6L4.9,0L16.8,4.7L22,3.3L19.2,7.6L5.2,7.6L11,6.4L0,1.6z" id="shape402" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape403" fill="#ffffff"/><path transform="translate(23.65,10.71)" d="M22.1,6L17.1,7.8L5.8,2.5L0,4.3L2.8,0L17.1,0L11,1.3L22.1,6z" id="shape404" fill="#ffffff"/></g><text class="st63"><tspan y="58.2" x="8">内网路由</tspan></text></g><path transform="translate(484.33,370.43)" d="M0,0L-25.3,0" id="shape405" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="translate(250.05,261.98)" d="M0,0C-18.9,0,-37.9,0,-52.1,-8.7C-66.3,-17.5,-75.8,-34.9,-75.8,-69.8" id="shape406" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="translate(250.05,261.98)" d="M0,0C-23.4,0,-46.8,0,-64.3,8.7C-81.8,17.5,-93.5,34.9,-93.5,69.8" id="shape407" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="translate(320.58,261.98)" d="M0,0L38.4,0L38.4,108.5L70.4,108.5" id="shape408" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="matrix(0.81,0.59,-0.59,0.81,708,263.8)" d="M0,0L78.9,0" id="shape409" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="matrix(0.76,-0.65,0.65,0.76,708,364.2)" d="M0,-0L83.9,0" id="shape410" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="matrix(0.85,-0.52,0.52,0.85,832.2,310)" d="M0,0L89.2,0" id="shape411" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="matrix(0.77,0.64,-0.64,0.77,832.2,310)" d="M0,0L83.5,-0" id="shape412" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="matrix(-1,0,0,-1,647.8,263.8)" d="M0,0L45.5,0" id="shape413" fill="none" stroke="#5c5c5c" stroke-dasharray="2,5"/><path transform="translate(590.66,172.05)" d="M0,0L18.9,0L18.9,275.9L0,275.9L0,0z" id="shape414" fill="#67b3ff"/><g transform="translate(647.85,224.08)"><g><path transform="translate(0.15,0)" d="M0,16.1L.4,15L35.9,0L59.9,6.2L23.4,30.1L0,16.1z" id="shape415" fill="url(#lg1)" stroke="#3a3a3a"/><path transform="translate(12.84,6.19)" d="M9.4,73.1L47.3,52.5L47.3,.7L10,17.7L0,47.8L9.4,73.1z" id="shape416" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15)" d="M.8,0L22,8.4C22.5,8.5,22.7,9,22.8,9.2L22.8,63.6C22.8,64.1,22.4,64.3,22,64.3L.8,53.9C.2,53.6,.1,53.4,0,53.1L0,.7C0,.3,.3,0,.8,0z" id="shape417" fill="url(#lg2)" stroke="#424242"/><path transform="translate(20.47,5.68)" d="M0,17.3C1.6,18,1.8,17.9,3,19C3.6,19.5,3.9,21.2,3.9,21.2L39.6,1.5C39.6,1.5,39.8,.8,39.5,.5C39.2,.3,37,0,37,0L0,17.3z" id="shape418" fill="url(#lg3)"/><path transform="translate(20.27,22.82)" d="M-0,0C1,0,4,1.4,4.1,3.8C4.2,4.7,4.1,55.1,4.1,55.1C4.1,55.1,2.1,56.8,1.9,56.5C1.6,56.3,0,55.7,0,55.7L-0,0z" id="shape419" fill="url(#lg4)"/><path transform="translate(0.09,15.4)" d="M13.6,4.6L6.8,56.4L0,53.5L0,.2C0,.2,-0.2,-0.2,.8,.1L13.6,4.6z" id="shape420" fill="url(#lg5)"/><g transform="translate(0.05,21.82)"><g transform="translate(0.08,0)" id="shape421"><g clip-path="url(#clip1)"><path stroke-width="2" d="M12.4,0L12.4,6.9L0,0z" fill="url(#lg6)" stroke="url(#lg6)"/></g><g clip-path="url(#clip1)"><path stroke-width="2" d="M12.4,6.9L0,6.9L0,0z" fill="url(#lg7)" stroke="url(#lg7)"/></g><path d="M0,0L0,1.1L12.4,6.9L12.4,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,7.78)" id="shape422"><g clip-path="url(#clip2)"><path stroke-width="2" d="M12.4,0L12.4,7L0,0z" fill="url(#lg8)" stroke="url(#lg8)"/></g><g clip-path="url(#clip2)"><path stroke-width="2" d="M12.4,7L0,7L0,0z" fill="url(#lg9)" stroke="url(#lg9)"/></g><path d="M0,0L0,1.3L12.4,7L12.4,5.6L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,15.62)" id="shape423"><g clip-path="url(#clip3)"><path stroke-width="2" d="M12.5,0L12.5,7.1L0,0z" fill="url(#lg10)" stroke="url(#lg10)"/></g><g clip-path="url(#clip3)"><path stroke-width="2" d="M12.5,7.1L0,7.1L0,0z" fill="url(#lg11)" stroke="url(#lg11)"/></g><path d="M0,0L0,1.3L12.5,7.1L12.5,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.11,23.73)" id="shape424"><g clip-path="url(#clip4)"><path stroke-width="2" d="M12.3,0L12.3,7L0,0z" fill="url(#lg12)" stroke="url(#lg12)"/></g><g clip-path="url(#clip4)"><path stroke-width="2" d="M12.3,7L0,7L0,0z" fill="url(#lg13)" stroke="url(#lg13)"/></g><path d="M0,0L0,1.3L12.3,7L12.3,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.51,5.34)" id="shape425"><g clip-path="url(#clip5)"><path stroke-width="2" d="M11.2,0L11.2,6L0,0z" fill="url(#lg14)" stroke="url(#lg14)"/></g><g clip-path="url(#clip5)"><path stroke-width="2" d="M11.2,6L0,6L0,0z" fill="url(#lg15)" stroke="url(#lg15)"/></g><path d="M0,0L0,1.1L11.2,6L11.2,4.9L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.51,12.93)" id="shape426"><g clip-path="url(#clip6)"><path stroke-width="2" d="M11.2,0L11.2,6.4L0,0z" fill="url(#lg17)" stroke="url(#lg17)"/></g><g clip-path="url(#clip6)"><path stroke-width="2" d="M11.2,6.4L0,6.4L0,0z" fill="url(#lg18)" stroke="url(#lg18)"/></g><path d="M0,0L0,1.4L11.2,6.4L11.2,5.2L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.44,20.98)" id="shape427"><g clip-path="url(#clip7)"><path stroke-width="2" d="M11.3,0L11.3,6.3L0,0z" fill="url(#lg19)" stroke="url(#lg19)"/></g><g clip-path="url(#clip7)"><path stroke-width="2" d="M11.3,6.3L0,6.3L0,0z" fill="url(#lg20)" stroke="url(#lg20)"/></g><path d="M0,0L11.3,5.1L11.3,6.3L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.44,28.9)" id="shape428"><g clip-path="url(#clip8)"><path stroke-width="2" d="M11.3,6.5L0,6.5L11.3,0z" fill="url(#lg21)" stroke="url(#lg21)"/></g><g clip-path="url(#clip8)"><path stroke-width="2" d="M0,0L0,6.5L11.3,0z" fill="url(#lg22)" stroke="url(#lg22)"/></g><path d="M0,0L11.3,5.3L11.3,6.5L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.11,5.61)" d="M0,0L8.4,3.7L9.4,5.4L0,1.3L0,0z" id="shape429" fill="url(#lg23)"/><path transform="translate(11.96,13.07)" d="M0,0L8.4,3.9L9.4,5.8L.1,1.6L0,0z" id="shape430" fill="url(#lg23)"/><path transform="translate(12.07,21.22)" d="M0,0L8.4,3.8L9.4,5.6L0,1.4L0,0z" id="shape431" fill="url(#lg23)"/><path transform="translate(12.07,29.26)" d="M0,0L8.4,3.7L9.4,5.4L0,1.3L0,0z" id="shape432" fill="url(#lg24)"/><path transform="translate(12.07,29.26)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape433" fill="url(#lg25)"/><path transform="translate(12.23,21.19)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape434" fill="url(#lg26)"/><path transform="translate(12.26,13.3)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape435" fill="url(#lg26)"/><path transform="translate(12.26,5.5)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape436" fill="url(#lg26)"/></g></g><g transform="translate(30.08,49.42)"><path d="M0,14.6C0,6.5,6.5,0,14.4,0C22.4,0,28.8,6.5,28.8,14.6C28.8,22.6,22.4,29.2,14.4,29.2C6.5,29.2,0,22.6,0,14.6z" id="shape437" fill="url(#rg1)" stroke="#4195f8"/><path transform="translate(1.38,-0)" d="M3.5,3.7C2,5.3,2,6,2,6C2,6,1.3,7.3,1.8,7.6C2.2,7.8,2.4,7.4,2.9,7.4C3.5,7.4,3.7,7.9,4.3,7.9C4.9,7.9,5.4,7.6,6,7.6C6.5,7.5,7,7.6,7.3,7.3C7.5,7.1,7.4,6.9,7.2,6.8C7,6.8,6.3,7.2,6,7.2C5.8,7.2,5.5,7,5.5,7C5.5,7,4.9,6.9,5,6.7C5.1,6.5,5.5,6.5,5.5,6.5C6.5,6.4,6.7,5.7,6.9,5.7C7.1,5.6,7.5,5.7,7.7,6.1C8,6.5,7.8,6.5,8.2,6.8C8.6,7,8.9,7,9,7C9.2,7.1,9.2,7.2,9.2,7.3C9.2,7.4,8.6,7.7,8.6,7.9C8.5,8.2,9,8.7,9,8.7C9,8.7,9.8,9.3,10.3,9.1C10.8,8.9,11,9.6,11,9.2C11.1,9,11,8.5,11,8.5C11,8.5,10.9,7.9,10.2,7.9C9.8,7.8,10.1,7.5,9.9,7.5C9.6,7.4,10,7.1,10,7.1C10,7.1,10.6,6.6,10.6,6.5C10.5,6.3,10,6.5,10,6.5C10,6.5,9.8,6.5,9.5,6.4C9.2,6.3,9.5,5.9,9.5,5.9C9.5,5.9,9.3,5.4,9.1,5.5C8.9,5.6,8.6,5.6,8.6,5.6C8.6,5.6,8.5,5.5,8.3,5.4C8.1,5.2,8.5,4.9,9,4.9C9.5,4.9,11.1,5.8,11.3,6.1C11.4,6.4,11.1,6.6,11.1,6.6C11.1,6.6,11.2,7.2,11.4,7.2C11.7,7.2,12.2,6.6,12.2,6.6C12.2,6.6,12.4,6.5,12.7,6.5C13,6.5,13.9,6.9,13.9,6.9C13.9,6.9,14.5,7,14.6,7.2C14.8,7.4,14.7,7.4,14.5,7.6C14.3,7.8,13.6,7.6,13.6,7.6C13.6,7.6,13.4,7.6,13.3,7.8C13.2,8,13.3,8.4,13.6,8.5C13.8,8.7,14.4,8.6,14.6,8.6C14.7,8.6,14.8,8.8,14.6,9C14.5,9.4,13.6,10,13.6,10.2C13.6,10.4,13.8,10.2,13.9,10.4C14,10.6,14,10.9,14.1,11.1C14.2,11.2,14.4,11.5,14.4,11.8C14.4,12.1,14.2,12.5,14.2,12.9C14.1,13.3,14.5,13.6,14.5,13.8C14.5,14,14.6,14.5,14.4,14.7C14.2,14.9,14,14.4,13.8,14.2C13.6,14.1,13.3,14.1,12.9,14.1C12.4,14.1,11.8,14.7,11.6,14.9C11.5,15.1,11.3,15.6,11.3,16.1C11.3,16.5,12,17,12,17C12,17,12.2,17.1,12.6,17.2C13,17.2,13.5,16.4,13.7,16.4C13.9,16.4,13.9,16.9,13.9,16.9L15.3,16.7C15.3,16.7,15.8,17.2,16.1,17.3C16.4,17.4,16.8,17.4,17.1,17.2C17.4,17.1,17.7,16,17.9,15.9C18.2,15.7,18.9,15.8,19.3,15.6C19.8,15.5,20.4,14.9,20.6,14.7C20.9,14.5,20.9,14.7,21.1,14.8C21.3,14.8,22.3,14.4,22.6,14.3C23,14.2,23.3,14.5,23.5,14.5C23.7,14.5,23.9,14.4,23.9,14.4C23.9,14.4,25.3,13.6,25.6,13.6C26,13.5,26.2,14,26.2,14C26.2,14,26.2,17,26.2,17.4C26.2,17.8,26,18.7,25.8,19.3C25.6,19.9,21.3,26.1,20.9,26C20.6,25.9,21.9,22.7,21.4,22.2C20.9,21.7,18.6,21.5,17.9,21.1C17.1,20.6,18.2,19.1,17.9,18.8C17.5,18.5,16.1,18.3,16.1,18.3C16.1,18.3,13.8,17.8,13.4,17.8C13,17.9,12.3,18.6,12,18.7C11.7,18.8,10.3,18.9,10,18.7C9.6,18.6,8.9,17.2,8.6,17C8.3,16.9,6.9,16.2,6.7,16.5C6.6,16.8,8.1,18,8,18.2C8,18.4,7.2,17.9,6.9,17.8C6.5,17.6,6,16,5.7,15.7C5.4,15.4,4.7,15.3,4.6,14.9C4.4,14.5,4.6,13.4,4.3,13.2C4.1,13,2.8,11.5,3,11.2C3.1,10.9,3.8,11.3,4,11.2C4.1,11,4.3,10.7,4.1,10.6C3.9,10.5,3.4,10.5,3.1,10.3C2.8,10.2,1.9,9.8,1.7,9.8C1.5,9.8,.6,10.2,.5,10C.4,9.8,1.4,9.5,1.7,9C1.9,8.5,1.9,8.3,1.8,8.1C1.7,8,0,8.3,0,8.3C0,8.3,.9,5.9,3.5,3.7zM4.8,24.4C5.3,24.4,5.3,24.2,5.4,24.1C5.5,24,5.9,24,6.1,24.2C6.3,24.5,6.7,24.5,6.9,24.7C7.1,24.8,7.1,25.3,7.1,25.3L7.6,26.3C7.6,26.3,9.3,26.4,9.3,26.8C9.2,26.9,9.1,27,8.9,27.1C8.6,27.2,8.6,27.4,8.3,27.4C8,27.4,7.7,27.3,7.4,27.2C7.1,27,5.4,26.2,5.2,26.1C4.9,25.9,4.4,25.6,4.4,25.6C4.4,25.6,4.1,25.4,3.8,25.2C3.5,25,3.8,24.9,3.8,24.9C3.8,24.9,4.1,24.8,4.2,24.7C4.3,24.5,4.3,24.4,4.8,24.4zM7.6,4.6C8,4.7,8,4.3,8.3,4.3C8.6,4.2,10.3,4.6,10.3,4.6C10.3,4.6,11.8,5.1,12.2,5.2C12.6,5.3,12.9,5.5,13.1,5.1C13.3,4.8,12.3,3.9,12.3,3.9C12.3,3.9,11.6,2.8,11.4,2.7C11.2,2.6,10.7,2.4,10.6,2.8C10.2,3,9.8,2.6,9,2.7C8,2.9,8,3.1,8,3.1C7.6,3.6,7.3,4.4,7.6,4.6zM12.5,2.4C12.7,2.3,13,2.5,13,2.5C13,2.5,13.4,2.4,13.6,2.6C13.7,2.9,13.2,2.9,13.1,3C12.9,3.2,13,3.6,12.9,3.7C12.7,3.7,12.6,3.5,12.6,3.5C12.4,3.2,12.3,2.4,12.5,2.4zM25.8,7.8C25.8,7.8,25.2,7.8,24.9,7.9C24.5,7.9,24.3,7.4,24.3,7.4C23.9,6.8,23.5,6,23.3,6.2C23,6.4,22.6,6.2,22.6,6.2C22.2,5.4,22,4.3,21.6,4.2C21.1,4.1,20.7,3.7,20.5,3.5C20.2,3.2,19.2,3.3,18.8,3.2C18.4,3,18,3.2,17.9,2.8C17.8,2.4,18,2.4,18,2.1C18,1.7,17.8,1.3,17.6,1.3C17.4,1.3,17.4,1.4,17.3,1.8C17.3,2.3,16.6,2.9,16.3,2.9C15.9,3,15.6,2.6,15.6,2.6C15.6,2.6,14.3,1.7,14.3,1.5C14.2,1.2,13.6,1.3,13.3,1C13,.7,12.8,1,12.3,1C11.9,1,11.8,1,11.6,.9C11.3,.8,11.5,1,10.9,1C10.3,.9,9.1,.5,9.1,.5C9.1,.5,14.3,-1.1,19,1.3C23.8,3.4,25.8,7.8,25.8,7.8zM13.9,15.5C13.8,15.4,14,15.2,14,15.2C14,15.2,14.3,15,14.5,14.8C14.7,14.7,14.8,14.7,15,14.7C15.2,14.7,16.2,14.9,16.2,14.9C16.9,14.8,17.3,14.4,17.4,14.4C17.6,14.4,17.5,14.7,17.5,14.7C18.2,14.1,18.3,13.7,18.5,13.5C18.7,13.3,18.9,13.2,19.2,13.2C19.4,13.2,19.7,13.2,19.7,13.3C19.8,13.4,19.2,13.9,19.2,13.9L18,14.6L16.5,15.6C15.9,15.6,15.7,15.6,15.6,15.4C15.4,15.2,15.8,15.1,15.6,15.1C15.4,15.1,15.2,15.2,15.2,15.2C15.2,15.2,14.2,16,13.9,15.5z" id="shape438" fill="url(#lg27)"/><path transform="translate(2.17,1.31)" d="M0,5.8C0,5.8,6.4,-0.7,18,.1" id="shape439" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.56,3.69)" d="M0,7.5C0,7.5,11.5,2.2,23.2,0" id="shape440" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.12,6.62)" d="M0,8.3C0,8.3,19.6,3.2,26.3,0" id="shape441" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.9,10.26)" d="M0,9.1C0,9.1,14.5,7.7,27.1,0" id="shape442" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(2.69,14.12)" d="M0,8.9C0,8.9,14.7,8.4,26,0" id="shape443" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(5.97,17.47)" d="M0,8.7C0,8.7,13.8,8.4,22.5,0" id="shape444" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(9.67,21.99)" d="M0,6.4C0,6.4,10.2,6.4,17.1,0" id="shape445" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(15.59,0.2)" d="M0,0C16.2,9.1,9,24.5,9,24.5" id="shape446" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(12.8,0.29)" d="M9.5,26.4C9.5,26.4,12.7,10.9,0,0" id="shape447" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(10.51,0.76)" d="M0,0C5.4,5.8,9.3,27.1,9.3,27.1" id="shape448" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(8.95,1.21)" d="M8.3,27.6C8.3,27.6,-0.6,13.5,0,0" id="shape449" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(6.05,2.22)" d="M1,0C-3.6,17.6,8.6,26.8,8.6,26.8" id="shape450" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(2.4,3.84)" d="M2.6,0C-6,16.5,9.2,24.8,9.2,24.8" id="shape451" stroke-opacity="0.4" fill="none" stroke="#ffffff"/></g><text class="st64"><tspan y="95.9" x="-7.4">gateway集群</tspan></text></g><g transform="translate(647.85,324.51)"><g><path transform="translate(0.15,0)" d="M0,16.1L.4,15L35.9,0L59.9,6.2L23.4,30.1L0,16.1z" id="shape452" fill="url(#lg1)" stroke="#3a3a3a"/><path transform="translate(12.84,6.19)" d="M9.4,73.1L47.3,52.5L47.3,.7L10,17.7L0,47.8L9.4,73.1z" id="shape453" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15)" d="M.8,0L22,8.4C22.5,8.5,22.7,9,22.8,9.2L22.8,63.6C22.8,64.1,22.4,64.3,22,64.3L.8,53.9C.2,53.6,.1,53.4,0,53.1L0,.7C0,.3,.3,0,.8,0z" id="shape454" fill="url(#lg2)" stroke="#424242"/><path transform="translate(20.47,5.68)" d="M0,17.3C1.6,18,1.8,17.9,3,19C3.6,19.5,3.9,21.2,3.9,21.2L39.6,1.5C39.6,1.5,39.8,.8,39.5,.5C39.2,.3,37,0,37,0L0,17.3z" id="shape455" fill="url(#lg3)"/><path transform="translate(20.27,22.82)" d="M-0,0C1,0,4,1.4,4.1,3.8C4.2,4.7,4.1,55.1,4.1,55.1C4.1,55.1,2.1,56.8,1.9,56.5C1.6,56.3,0,55.7,0,55.7L-0,0z" id="shape456" fill="url(#lg4)"/><path transform="translate(0.09,15.4)" d="M13.6,4.6L6.8,56.4L0,53.5L0,.2C0,.2,-0.2,-0.2,.8,.1L13.6,4.6z" id="shape457" fill="url(#lg5)"/><g transform="translate(0.05,21.82)"><g transform="translate(0.08,0)" id="shape458"><g clip-path="url(#clip9)"><path stroke-width="2" d="M12.4,0L12.4,6.9L0,0z" fill="url(#lg28)" stroke="url(#lg28)"/></g><g clip-path="url(#clip9)"><path stroke-width="2" d="M12.4,6.9L0,6.9L0,0z" fill="url(#lg29)" stroke="url(#lg29)"/></g><path d="M0,0L0,1.1L12.4,6.9L12.4,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,7.78)" id="shape459"><g clip-path="url(#clip10)"><path stroke-width="2" d="M12.4,0L12.4,7L0,0z" fill="url(#lg30)" stroke="url(#lg30)"/></g><g clip-path="url(#clip10)"><path stroke-width="2" d="M12.4,7L0,7L0,0z" fill="url(#lg31)" stroke="url(#lg31)"/></g><path d="M0,0L0,1.3L12.4,7L12.4,5.6L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,15.62)" id="shape460"><g clip-path="url(#clip11)"><path stroke-width="2" d="M12.5,0L12.5,7.1L0,0z" fill="url(#lg32)" stroke="url(#lg32)"/></g><g clip-path="url(#clip11)"><path stroke-width="2" d="M12.5,7.1L0,7.1L0,0z" fill="url(#lg33)" stroke="url(#lg33)"/></g><path d="M0,0L0,1.3L12.5,7.1L12.5,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.11,23.73)" id="shape461"><g clip-path="url(#clip12)"><path stroke-width="2" d="M12.3,0L12.3,7L0,0z" fill="url(#lg34)" stroke="url(#lg34)"/></g><g clip-path="url(#clip12)"><path stroke-width="2" d="M12.3,7L0,7L0,0z" fill="url(#lg35)" stroke="url(#lg35)"/></g><path d="M0,0L0,1.3L12.3,7L12.3,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.51,5.34)" id="shape462"><g clip-path="url(#clip13)"><path stroke-width="2" d="M11.2,0L11.2,6L0,0z" fill="url(#lg36)" stroke="url(#lg36)"/></g><g clip-path="url(#clip13)"><path stroke-width="2" d="M11.2,6L0,6L0,0z" fill="url(#lg37)" stroke="url(#lg37)"/></g><path d="M0,0L0,1.1L11.2,6L11.2,4.9L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.51,12.93)" id="shape463"><g clip-path="url(#clip14)"><path stroke-width="2" d="M11.2,0L11.2,6.4L0,0z" fill="url(#lg38)" stroke="url(#lg38)"/></g><g clip-path="url(#clip14)"><path stroke-width="2" d="M11.2,6.4L0,6.4L0,0z" fill="url(#lg39)" stroke="url(#lg39)"/></g><path d="M0,0L0,1.4L11.2,6.4L11.2,5.2L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.44,20.98)" id="shape464"><g clip-path="url(#clip15)"><path stroke-width="2" d="M11.3,0L11.3,6.3L0,0z" fill="url(#lg40)" stroke="url(#lg40)"/></g><g clip-path="url(#clip15)"><path stroke-width="2" d="M11.3,6.3L0,6.3L0,0z" fill="url(#lg41)" stroke="url(#lg41)"/></g><path d="M0,0L11.3,5.1L11.3,6.3L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.44,28.9)" id="shape465"><g clip-path="url(#clip16)"><path stroke-width="2" d="M11.3,6.5L0,6.5L11.3,0z" fill="url(#lg42)" stroke="url(#lg42)"/></g><g clip-path="url(#clip16)"><path stroke-width="2" d="M0,0L0,6.5L11.3,0z" fill="url(#lg43)" stroke="url(#lg43)"/></g><path d="M0,0L11.3,5.3L11.3,6.5L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.11,5.61)" d="M0,0L8.4,3.7L9.4,5.4L0,1.3L0,0z" id="shape466" fill="url(#lg23)"/><path transform="translate(11.96,13.07)" d="M0,0L8.4,3.9L9.4,5.8L.1,1.6L0,0z" id="shape467" fill="url(#lg23)"/><path transform="translate(12.07,21.22)" d="M0,0L8.4,3.8L9.4,5.6L0,1.4L0,0z" id="shape468" fill="url(#lg23)"/><path transform="translate(12.07,29.26)" d="M0,0L8.4,3.7L9.4,5.4L0,1.3L0,0z" id="shape469" fill="url(#lg24)"/><path transform="translate(12.07,29.26)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape470" fill="url(#lg25)"/><path transform="translate(12.23,21.19)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape471" fill="url(#lg26)"/><path transform="translate(12.26,13.3)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape472" fill="url(#lg26)"/><path transform="translate(12.26,5.5)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape473" fill="url(#lg26)"/></g></g><g transform="translate(30.08,49.42)"><path d="M0,14.6C0,6.5,6.5,0,14.4,0C22.4,0,28.8,6.5,28.8,14.6C28.8,22.6,22.4,29.2,14.4,29.2C6.5,29.2,0,22.6,0,14.6z" id="shape474" fill="url(#rg1)" stroke="#4195f8"/><path transform="translate(1.38,-0)" d="M3.5,3.7C2,5.3,2,6,2,6C2,6,1.3,7.3,1.8,7.6C2.2,7.8,2.4,7.4,2.9,7.4C3.5,7.4,3.7,7.9,4.3,7.9C4.9,7.9,5.4,7.6,6,7.6C6.5,7.5,7,7.6,7.3,7.3C7.5,7.1,7.4,6.9,7.2,6.8C7,6.8,6.3,7.2,6,7.2C5.8,7.2,5.5,7,5.5,7C5.5,7,4.9,6.9,5,6.7C5.1,6.5,5.5,6.5,5.5,6.5C6.5,6.4,6.7,5.7,6.9,5.7C7.1,5.6,7.5,5.7,7.7,6.1C8,6.5,7.8,6.5,8.2,6.8C8.6,7,8.9,7,9,7C9.2,7.1,9.2,7.2,9.2,7.3C9.2,7.4,8.6,7.7,8.6,7.9C8.5,8.2,9,8.7,9,8.7C9,8.7,9.8,9.3,10.3,9.1C10.8,8.9,11,9.6,11,9.2C11.1,9,11,8.5,11,8.5C11,8.5,10.9,7.9,10.2,7.9C9.8,7.8,10.1,7.5,9.9,7.5C9.6,7.4,10,7.1,10,7.1C10,7.1,10.6,6.6,10.6,6.5C10.5,6.3,10,6.5,10,6.5C10,6.5,9.8,6.5,9.5,6.4C9.2,6.3,9.5,5.9,9.5,5.9C9.5,5.9,9.3,5.4,9.1,5.5C8.9,5.6,8.6,5.6,8.6,5.6C8.6,5.6,8.5,5.5,8.3,5.4C8.1,5.2,8.5,4.9,9,4.9C9.5,4.9,11.1,5.8,11.3,6.1C11.4,6.4,11.1,6.6,11.1,6.6C11.1,6.6,11.2,7.2,11.4,7.2C11.7,7.2,12.2,6.6,12.2,6.6C12.2,6.6,12.4,6.5,12.7,6.5C13,6.5,13.9,6.9,13.9,6.9C13.9,6.9,14.5,7,14.6,7.2C14.8,7.4,14.7,7.4,14.5,7.6C14.3,7.8,13.6,7.6,13.6,7.6C13.6,7.6,13.4,7.6,13.3,7.8C13.2,8,13.3,8.4,13.6,8.5C13.8,8.7,14.4,8.6,14.6,8.6C14.7,8.6,14.8,8.8,14.6,9C14.5,9.4,13.6,10,13.6,10.2C13.6,10.4,13.8,10.2,13.9,10.4C14,10.6,14,10.9,14.1,11.1C14.2,11.2,14.4,11.5,14.4,11.8C14.4,12.1,14.2,12.5,14.2,12.9C14.1,13.3,14.5,13.6,14.5,13.8C14.5,14,14.6,14.5,14.4,14.7C14.2,14.9,14,14.4,13.8,14.2C13.6,14.1,13.3,14.1,12.9,14.1C12.4,14.1,11.8,14.7,11.6,14.9C11.5,15.1,11.3,15.6,11.3,16.1C11.3,16.5,12,17,12,17C12,17,12.2,17.1,12.6,17.2C13,17.2,13.5,16.4,13.7,16.4C13.9,16.4,13.9,16.9,13.9,16.9L15.3,16.7C15.3,16.7,15.8,17.2,16.1,17.3C16.4,17.4,16.8,17.4,17.1,17.2C17.4,17.1,17.7,16,17.9,15.9C18.2,15.7,18.9,15.8,19.3,15.6C19.8,15.5,20.4,14.9,20.6,14.7C20.9,14.5,20.9,14.7,21.1,14.8C21.3,14.8,22.3,14.4,22.6,14.3C23,14.2,23.3,14.5,23.5,14.5C23.7,14.5,23.9,14.4,23.9,14.4C23.9,14.4,25.3,13.6,25.6,13.6C26,13.5,26.2,14,26.2,14C26.2,14,26.2,17,26.2,17.4C26.2,17.8,26,18.7,25.8,19.3C25.6,19.9,21.3,26.1,20.9,26C20.6,25.9,21.9,22.7,21.4,22.2C20.9,21.7,18.6,21.5,17.9,21.1C17.1,20.6,18.2,19.1,17.9,18.8C17.5,18.5,16.1,18.3,16.1,18.3C16.1,18.3,13.8,17.8,13.4,17.8C13,17.9,12.3,18.6,12,18.7C11.7,18.8,10.3,18.9,10,18.7C9.6,18.6,8.9,17.2,8.6,17C8.3,16.9,6.9,16.2,6.7,16.5C6.6,16.8,8.1,18,8,18.2C8,18.4,7.2,17.9,6.9,17.8C6.5,17.6,6,16,5.7,15.7C5.4,15.4,4.7,15.3,4.6,14.9C4.4,14.5,4.6,13.4,4.3,13.2C4.1,13,2.8,11.5,3,11.2C3.1,10.9,3.8,11.3,4,11.2C4.1,11,4.3,10.7,4.1,10.6C3.9,10.5,3.4,10.5,3.1,10.3C2.8,10.2,1.9,9.8,1.7,9.8C1.5,9.8,.6,10.2,.5,10C.4,9.8,1.4,9.5,1.7,9C1.9,8.5,1.9,8.3,1.8,8.1C1.7,8,0,8.3,0,8.3C0,8.3,.9,5.9,3.5,3.7zM4.8,24.4C5.3,24.4,5.3,24.2,5.4,24.1C5.5,24,5.9,24,6.1,24.2C6.3,24.5,6.7,24.5,6.9,24.7C7.1,24.8,7.1,25.3,7.1,25.3L7.6,26.3C7.6,26.3,9.3,26.4,9.3,26.8C9.2,26.9,9.1,27,8.9,27.1C8.6,27.2,8.6,27.4,8.3,27.4C8,27.4,7.7,27.3,7.4,27.2C7.1,27,5.4,26.2,5.2,26.1C4.9,25.9,4.4,25.6,4.4,25.6C4.4,25.6,4.1,25.4,3.8,25.2C3.5,25,3.8,24.9,3.8,24.9C3.8,24.9,4.1,24.8,4.2,24.7C4.3,24.5,4.3,24.4,4.8,24.4zM7.6,4.6C8,4.7,8,4.3,8.3,4.3C8.6,4.2,10.3,4.6,10.3,4.6C10.3,4.6,11.8,5.1,12.2,5.2C12.6,5.3,12.9,5.5,13.1,5.1C13.3,4.8,12.3,3.9,12.3,3.9C12.3,3.9,11.6,2.8,11.4,2.7C11.2,2.6,10.7,2.4,10.6,2.8C10.2,3,9.8,2.6,9,2.7C8,2.9,8,3.1,8,3.1C7.6,3.6,7.3,4.4,7.6,4.6zM12.5,2.4C12.7,2.3,13,2.5,13,2.5C13,2.5,13.4,2.4,13.6,2.6C13.7,2.9,13.2,2.9,13.1,3C12.9,3.2,13,3.6,12.9,3.7C12.7,3.7,12.6,3.5,12.6,3.5C12.4,3.2,12.3,2.4,12.5,2.4zM25.8,7.8C25.8,7.8,25.2,7.8,24.9,7.9C24.5,7.9,24.3,7.4,24.3,7.4C23.9,6.8,23.5,6,23.3,6.2C23,6.4,22.6,6.2,22.6,6.2C22.2,5.4,22,4.3,21.6,4.2C21.1,4.1,20.7,3.7,20.5,3.5C20.2,3.2,19.2,3.3,18.8,3.2C18.4,3,18,3.2,17.9,2.8C17.8,2.4,18,2.4,18,2.1C18,1.7,17.8,1.3,17.6,1.3C17.4,1.3,17.4,1.4,17.3,1.8C17.3,2.3,16.6,2.9,16.3,2.9C15.9,3,15.6,2.6,15.6,2.6C15.6,2.6,14.3,1.7,14.3,1.5C14.2,1.2,13.6,1.3,13.3,1C13,.7,12.8,1,12.3,1C11.9,1,11.8,1,11.6,.9C11.3,.8,11.5,1,10.9,1C10.3,.9,9.1,.5,9.1,.5C9.1,.5,14.3,-1.1,19,1.3C23.8,3.4,25.8,7.8,25.8,7.8zM13.9,15.5C13.8,15.4,14,15.2,14,15.2C14,15.2,14.3,15,14.5,14.8C14.7,14.7,14.8,14.7,15,14.7C15.2,14.7,16.2,14.9,16.2,14.9C16.9,14.8,17.3,14.4,17.4,14.4C17.6,14.4,17.5,14.7,17.5,14.7C18.2,14.1,18.3,13.7,18.5,13.5C18.7,13.3,18.9,13.2,19.2,13.2C19.4,13.2,19.7,13.2,19.7,13.3C19.8,13.4,19.2,13.9,19.2,13.9L18,14.6L16.5,15.6C15.9,15.6,15.7,15.6,15.6,15.4C15.4,15.2,15.8,15.1,15.6,15.1C15.4,15.1,15.2,15.2,15.2,15.2C15.2,15.2,14.2,16,13.9,15.5z" id="shape475" fill="url(#lg27)"/><path transform="translate(2.17,1.31)" d="M0,5.8C0,5.8,6.4,-0.7,18,.1" id="shape476" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.56,3.69)" d="M0,7.5C0,7.5,11.5,2.2,23.2,0" id="shape477" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.12,6.62)" d="M0,8.3C0,8.3,19.6,3.2,26.3,0" id="shape478" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.9,10.26)" d="M0,9.1C0,9.1,14.5,7.7,27.1,0" id="shape479" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(2.69,14.12)" d="M0,8.9C0,8.9,14.7,8.4,26,0" id="shape480" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(5.97,17.47)" d="M0,8.7C0,8.7,13.8,8.4,22.5,0" id="shape481" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(9.67,21.99)" d="M0,6.4C0,6.4,10.2,6.4,17.1,0" id="shape482" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(15.59,0.2)" d="M0,0C16.2,9.1,9,24.5,9,24.5" id="shape483" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(12.8,0.29)" d="M9.5,26.4C9.5,26.4,12.7,10.9,0,0" id="shape484" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(10.51,0.76)" d="M0,0C5.4,5.8,9.3,27.1,9.3,27.1" id="shape485" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(8.95,1.21)" d="M8.3,27.6C8.3,27.6,-0.6,13.5,0,0" id="shape486" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(6.05,2.22)" d="M1,0C-3.6,17.6,8.6,26.8,8.6,26.8" id="shape487" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(2.4,3.84)" d="M2.6,0C-6,16.5,9.2,24.8,9.2,24.8" id="shape488" stroke-opacity="0.4" fill="none" stroke="#ffffff"/></g><text class="st64"><tspan y="95.9" x="-7.4">gateway集群</tspan></text></g><g transform="translate(772,270.31)"><g><path transform="translate(0.15,0)" d="M0,16.1L.4,15L35.9,0L59.9,6.2L23.4,30.1L0,16.1z" id="shape489" fill="url(#lg1)" stroke="#3a3a3a"/><path transform="translate(12.84,6.18)" d="M9.4,73L47.3,52.4L47.3,.7L10,17.7L0,47.7L9.4,73z" id="shape490" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,14.96)" d="M.8,0L22,8.4C22.5,8.5,22.7,8.9,22.8,9.2L22.8,63.5C22.8,63.9,22.4,64.2,22,64.2L.8,53.8C.2,53.4,.1,53.3,0,53L0,.7C0,.3,.3,0,.8,0z" id="shape491" fill="url(#lg2)" stroke="#424242"/><path transform="translate(20.47,5.67)" d="M0,17.3C1.6,17.9,1.8,17.9,3,18.9C3.6,19.5,3.9,21.2,3.9,21.2L39.6,1.5C39.6,1.5,39.8,.8,39.5,.5C39.2,.3,37,0,37,0L0,17.3z" id="shape492" fill="url(#lg3)"/><path transform="translate(20.27,22.77)" d="M-0,0C1,0,4,1.4,4.1,3.8C4.2,4.6,4.1,55,4.1,55C4.1,55,2.1,56.6,1.9,56.4C1.6,56.1,0,55.6,0,55.6L-0,0z" id="shape493" fill="url(#lg4)"/><path transform="translate(0.09,15.36)" d="M13.6,4.6L6.8,56.2L0,53.4L0,.2C0,.2,-0.2,-0.2,.8,.1L13.6,4.6z" id="shape494" fill="url(#lg5)"/><g transform="translate(0.05,21.77)"><g transform="translate(0.08,-0)" id="shape495"><g clip-path="url(#clip17)"><path stroke-width="2" d="M12.4,0L12.4,6.9L0,0z" fill="url(#lg44)" stroke="url(#lg44)"/></g><g clip-path="url(#clip17)"><path stroke-width="2" d="M12.4,6.9L0,6.9L0,0z" fill="url(#lg45)" stroke="url(#lg45)"/></g><path d="M0,0L0,1.1L12.4,6.9L12.4,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,7.76)" id="shape496"><g clip-path="url(#clip18)"><path stroke-width="2" d="M12.4,0L12.4,7L0,0z" fill="url(#lg46)" stroke="url(#lg46)"/></g><g clip-path="url(#clip18)"><path stroke-width="2" d="M12.4,7L0,7L0,0z" fill="url(#lg47)" stroke="url(#lg47)"/></g><path d="M0,0L0,1.3L12.4,7L12.4,5.5L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,15.58)" id="shape497"><g clip-path="url(#clip19)"><path stroke-width="2" d="M12.5,0L12.5,7.1L0,0z" fill="url(#lg48)" stroke="url(#lg48)"/></g><g clip-path="url(#clip19)"><path stroke-width="2" d="M12.5,7.1L0,7.1L0,0z" fill="url(#lg49)" stroke="url(#lg49)"/></g><path d="M0,0L0,1.3L12.5,7.1L12.5,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.11,23.68)" id="shape498"><g clip-path="url(#clip20)"><path stroke-width="2" d="M12.3,0L12.3,7L0,0z" fill="url(#lg50)" stroke="url(#lg50)"/></g><g clip-path="url(#clip20)"><path stroke-width="2" d="M12.3,7L0,7L0,0z" fill="url(#lg51)" stroke="url(#lg51)"/></g><path d="M0,0L0,1.3L12.3,7L12.3,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.51,5.33)" id="shape499"><g clip-path="url(#clip21)"><path stroke-width="2" d="M11.2,0L11.2,6L0,0z" fill="url(#lg52)" stroke="url(#lg52)"/></g><g clip-path="url(#clip21)"><path stroke-width="2" d="M11.2,6L0,6L0,0z" fill="url(#lg53)" stroke="url(#lg53)"/></g><path d="M0,0L0,1.1L11.2,6L11.2,4.9L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.51,12.9)" id="shape500"><g clip-path="url(#clip22)"><path stroke-width="2" d="M11.2,0L11.2,6.4L0,0z" fill="url(#lg54)" stroke="url(#lg54)"/></g><g clip-path="url(#clip22)"><path stroke-width="2" d="M11.2,6.4L0,6.4L0,0z" fill="url(#lg55)" stroke="url(#lg55)"/></g><path d="M0,0L0,1.4L11.2,6.4L11.2,5.2L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.44,20.93)" id="shape501"><g clip-path="url(#clip23)"><path stroke-width="2" d="M11.3,0L11.3,6.3L0,0z" fill="url(#lg56)" stroke="url(#lg56)"/></g><g clip-path="url(#clip23)"><path stroke-width="2" d="M11.3,6.3L0,6.3L0,0z" fill="url(#lg57)" stroke="url(#lg57)"/></g><path d="M0,0L11.3,5.1L11.3,6.3L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.44,28.83)" id="shape502"><g clip-path="url(#clip24)"><path stroke-width="2" d="M11.3,6.5L0,6.5L11.3,0z" fill="url(#lg58)" stroke="url(#lg58)"/></g><g clip-path="url(#clip24)"><path stroke-width="2" d="M0,0L0,6.5L11.3,0z" fill="url(#lg59)" stroke="url(#lg59)"/></g><path d="M0,0L11.3,5.3L11.3,6.5L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.11,5.6)" d="M0,0L8.4,3.7L9.4,5.4L0,1.3L0,0z" id="shape503" fill="url(#lg23)"/><path transform="translate(11.96,13.04)" d="M0,0L8.4,3.9L9.4,5.8L.1,1.6L0,0z" id="shape504" fill="url(#lg23)"/><path transform="translate(12.07,21.17)" d="M0,0L8.4,3.7L9.4,5.6L0,1.4L0,0z" id="shape505" fill="url(#lg23)"/><path transform="translate(12.07,29.19)" d="M0,0L8.4,3.7L9.4,5.4L0,1.3L0,0z" id="shape506" fill="url(#lg24)"/><path transform="translate(12.07,29.19)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape507" fill="url(#lg25)"/><path transform="translate(12.23,21.14)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape508" fill="url(#lg26)"/><path transform="translate(12.26,13.27)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape509" fill="url(#lg26)"/><path transform="translate(12.26,5.48)" d="M0,0L9.7,4.5L9.7,5.7L1.3,2L0,0z" id="shape510" fill="url(#lg26)"/></g></g><g transform="translate(33.69,50.22)"><path d="M0,0L0,24.1C0,26.9,4.7,29.1,10.5,29.1C16.3,29.1,21.1,26.9,21.1,24.1L21.1,0C21.1,2.8,16.3,5.1,10.5,5.1C4.7,5.1,0,2.8,0,0z" id="shape511" fill="url(#lg60)" stroke-opacity="0.4" stroke="#90a1c1"/><path transform="translate(0,-5.05)" d="M0,5.1C0,2.3,4.7,0,10.5,0C16.3,0,21.1,2.3,21.1,5.1C21.1,7.8,16.3,10.1,10.5,10.1C4.7,10.1,0,7.8,0,5.1z" id="shape512" fill="url(#lg61)" stroke-opacity="0.4" stroke="#90a1c1"/></g><text class="st64"><tspan y="95.9" x="-14.4">zookeeper集群</tspan></text></g><g transform="translate(908.18,222.08)"><g><path transform="translate(0.16,0)" d="M0,16.7L.4,15.6L37.2,0L62,6.4L24.3,31.3L0,16.7z" id="shape513" fill="url(#lg62)" stroke="#3a3a3a"/><path transform="translate(13.31,6.43)" d="M9.7,76L49,54.5L49,.8L10.3,18.4L0,49.7L9.7,76z" id="shape514" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15.58)" d="M.8,0L22.8,8.7C23.3,8.9,23.6,9.3,23.6,9.5L23.6,66.1C23.6,66.6,23.2,66.8,22.8,66.8L.8,56C.2,55.6,.1,55.5,0,55.2L0,.8C0,.3,.3,0,.8,0z" id="shape515" fill="url(#lg2)" stroke="#424242"/><path transform="translate(21.21,5.9)" d="M0,18C1.7,18.7,1.9,18.6,3.1,19.7C3.8,20.3,4.1,22.1,4.1,22.1L41.1,1.6C41.1,1.6,41.3,.8,40.9,.5C40.7,.3,38.4,0,38.4,0L0,18z" id="shape516" fill="url(#lg63)"/><path transform="translate(21,23.71)" d="M-0,0C1,0,4.1,1.4,4.3,4C4.3,4.8,4.3,57.3,4.3,57.3C4.3,57.3,2.2,59,1.9,58.7C1.7,58.4,0,57.9,0,57.9L-0,0z" id="shape517" fill="url(#lg4)"/><path transform="translate(0.09,16)" d="M14.1,4.8L7,58.6L0,55.6L0,.2C0,.2,-0.2,-0.2,.8,.1L14.1,4.8z" id="shape518" fill="url(#lg64)"/><g transform="translate(0.05,22.67)"><g transform="translate(0.08,-0)" id="shape519"><g clip-path="url(#clip25)"><path stroke-width="2" d="M12.9,0L12.9,7.2L0,0z" fill="url(#lg65)" stroke="url(#lg65)"/></g><g clip-path="url(#clip25)"><path stroke-width="2" d="M12.9,7.2L0,7.2L0,0z" fill="url(#lg66)" stroke="url(#lg66)"/></g><path d="M0,0L0,1.2L12.9,7.2L12.9,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,8.08)" id="shape520"><g clip-path="url(#clip26)"><path stroke-width="2" d="M12.9,0L12.9,7.2L0,0z" fill="url(#lg67)" stroke="url(#lg67)"/></g><g clip-path="url(#clip26)"><path stroke-width="2" d="M12.9,7.2L0,7.2L0,0z" fill="url(#lg68)" stroke="url(#lg68)"/></g><path d="M0,0L0,1.3L12.9,7.2L12.9,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,16.22)" id="shape521"><g clip-path="url(#clip27)"><path stroke-width="2" d="M13,0L13,7.4L0,0z" fill="url(#lg69)" stroke="url(#lg69)"/></g><g clip-path="url(#clip27)"><path stroke-width="2" d="M13,7.4L0,7.4L0,0z" fill="url(#lg70)" stroke="url(#lg70)"/></g><path d="M0,0L0,1.4L13,7.4L13,6.1L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.11,24.65)" id="shape522"><g clip-path="url(#clip28)"><path stroke-width="2" d="M12.8,0L12.8,7.2L0,0z" fill="url(#lg71)" stroke="url(#lg71)"/></g><g clip-path="url(#clip28)"><path stroke-width="2" d="M12.8,7.2L0,7.2L0,0z" fill="url(#lg72)" stroke="url(#lg72)"/></g><path d="M0,0L0,1.4L12.8,7.2L12.8,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.92,5.55)" id="shape523"><g clip-path="url(#clip29)"><path stroke-width="2" d="M11.6,0L11.6,6.2L0,0z" fill="url(#lg73)" stroke="url(#lg73)"/></g><g clip-path="url(#clip29)"><path stroke-width="2" d="M11.6,6.2L0,6.2L0,0z" fill="url(#lg74)" stroke="url(#lg74)"/></g><path d="M0,0L0,1.2L11.6,6.2L11.6,5.1L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.92,13.44)" id="shape524"><g clip-path="url(#clip30)"><path stroke-width="2" d="M11.6,0L11.6,6.7L0,0z" fill="url(#lg75)" stroke="url(#lg75)"/></g><g clip-path="url(#clip30)"><path stroke-width="2" d="M11.6,6.7L0,6.7L0,0z" fill="url(#lg76)" stroke="url(#lg76)"/></g><path d="M0,0L0,1.5L11.6,6.7L11.6,5.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.86,21.8)" id="shape525"><g clip-path="url(#clip31)"><path stroke-width="2" d="M11.7,0L11.7,6.5L0,0z" fill="url(#lg77)" stroke="url(#lg77)"/></g><g clip-path="url(#clip31)"><path stroke-width="2" d="M11.7,6.5L0,6.5L0,0z" fill="url(#lg78)" stroke="url(#lg78)"/></g><path d="M0,0L11.7,5.3L11.7,6.5L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.86,30.02)" id="shape526"><g clip-path="url(#clip32)"><path stroke-width="2" d="M11.7,6.8L0,6.8L11.7,0z" fill="url(#lg79)" stroke="url(#lg79)"/></g><g clip-path="url(#clip32)"><path stroke-width="2" d="M0,0L0,6.8L11.7,0z" fill="url(#lg80)" stroke="url(#lg80)"/></g><path d="M0,0L11.7,5.5L11.7,6.8L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.55,5.83)" d="M0,0L8.7,3.9L9.7,5.7L0,1.3L0,0z" id="shape527" fill="url(#lg23)"/><path transform="translate(12.39,13.58)" d="M0,0L8.7,4L9.7,6L.1,1.6L0,0z" id="shape528" fill="url(#lg23)"/><path transform="translate(12.5,22.05)" d="M0,0L8.7,3.9L9.7,5.9L0,1.5L0,0z" id="shape529" fill="url(#lg23)"/><path transform="translate(12.5,30.4)" d="M0,0L8.7,3.9L9.7,5.7L0,1.3L0,0z" id="shape530" fill="url(#lg24)"/><path transform="translate(12.5,30.4)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape531" fill="url(#lg25)"/><path transform="translate(12.67,22.01)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape532" fill="url(#lg26)"/><path transform="translate(12.7,13.82)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape533" fill="url(#lg26)"/><path transform="translate(12.7,5.71)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape534" fill="url(#lg26)"/></g></g><g transform="translate(36.95,51.92)"><path transform="matrix(-1,0,0,1,34.9,-0)" d="M2.6,29.6C2.5,30.1,2.2,29.5,2.2,29C2.2,28.4,0,3.3,0,3.3C0,3.3,.1,2.3,1.3,2.1C2.5,1.9,9.5,.7,10,.7C10.7,.8,10.5,2.8,10.9,2.8C11.4,2.8,28.2,0,28.2,0C28.2,0,28.6,-0.1,28.5,.7C28.5,1.3,2.6,29.5,2.6,29.6z" id="shape535" fill="#e7d299"/><path transform="matrix(-1,0,0,1,34.4,0.3)" d="M2.1,29.8L0,3.2C0,3.2,-0.2,2.3,1.3,2C2.7,1.8,9.1,.7,9.1,.7C9.1,.7,9.8,.3,10,1.9C10.1,3.1,10.7,2.9,11.3,2.8C11.8,2.7,27.8,0,27.8,0C27.8,0,28.1,0,28.1,.8C28.1,1.7,27.2,20.2,27.2,20.2L2.1,29.8z" id="shape536" fill="url(#lg81)"/><path transform="matrix(-1,0,0,1,31.1,2.8)" d="M0,26.5L.3,4.5L25.2,0L0,26.5z" id="shape537" fill="#ffffff" fill-opacity="0.55"/><path transform="matrix(-1,0,0,1,32.9,1.6)" d="M.9,27.6L0,5.5L26.7,0L25.4,18.6L.9,27.6z" id="shape538" fill="#fcfcfc" stroke="#bcbcbc"/><path transform="matrix(-1,0,0,1,31.9,2.3)" d="M2.1,5.6L0,26.9C0,26.9,24.5,18.5,24.5,18.4C24.4,18.3,28.1,0,28.1,0L2.1,5.6z" id="shape539" fill="#fcfcfc" stroke="#a0a0a0"/><path transform="matrix(-1,0,0,1,31.1,3.3)" d="M3.9,5.2L0,26L24.1,17.1L28.7,0L3.9,5.2z" id="shape540" fill="#fcfcfc" stroke="#a0a0a0"/><path transform="matrix(-1,0,0,1,32.2,4.1)" d="M.3,26L3.5,10C3.5,10,3.7,9,4.5,8.7C5.4,8.4,12.6,6.8,12.6,6.8C12.6,6.8,13.3,6.6,13.3,5.3C13.4,4,14.5,3.7,14.5,3.7L31.5,0L10.5,9.4L.3,26z" id="shape541" fill="#e7d299"/><path transform="matrix(-1,0,0,1,32.4,4.3)" d="M.1,25.2C.1,25.2,.3,25.9,.4,25.8C.6,25.6,3.9,10.7,4.2,10C4.5,9.3,4.6,8.9,5.5,8.7C6.4,8.5,13.3,7,13.3,7C13.3,7,13.7,7,13.9,5.9C14,4.9,14,4.1,15.1,3.8C16.2,3.5,32.1,-0.2,32.2,0C32.3,.2,32.5,.1,32.3,.8C32.2,1.5,32.3,14.8,32.3,14.8C32.3,14.8,32.3,15.3,31.8,15.4C31.2,15.5,.5,26.2,.5,26.2C.5,26.2,-0.3,26.1,.1,25.2z" id="shape542" fill="url(#lg82)"/><path transform="matrix(-1,0,0,1,5.2,4)" d="M224.2,342.7" id="shape543" fill="none" stroke="#000000"/><path transform="matrix(-1,0,0,1,27,4.3)" d="M16,2.3C16,2.3,26.6,-0.1,26.8,0C26.9,.3,27.1,.4,27,1.1C26.8,1.9,26.9,14.8,26.9,14.8C26.9,14.8,26.9,15.3,26.4,15.4C25.8,15.4,0,24.3,0,24.3L16,2.3z" id="shape544" fill="url(#lg83)"/></g><g transform="translate(31.16,62.78)"><path d="M0,9.6C0,4.3,4.3,0,9.5,0C14.8,0,19.1,4.3,19.1,9.6C19.1,14.9,14.8,19.3,9.5,19.3C4.3,19.3,0,14.9,0,9.6z" id="shape545" fill="url(#rg2)" stroke="#4195f8"/><path transform="translate(0.91,-0)" d="M2.3,2.4C1.4,3.5,1.3,4,1.3,4C1.3,4,.9,4.8,1.2,5C1.5,5.2,1.6,4.9,1.9,4.9C2.3,4.9,2.4,5.2,2.8,5.2C3.2,5.2,3.6,5,3.9,5C4.3,5,4.6,5,4.8,4.8C5,4.7,4.9,4.5,4.7,4.5C4.6,4.5,4.2,4.8,4,4.7C3.8,4.7,3.6,4.7,3.6,4.7C3.6,4.7,3.3,4.6,3.3,4.4C3.4,4.3,3.6,4.3,3.6,4.3C4.3,4.2,4.4,3.8,4.5,3.7C4.7,3.7,4.9,3.7,5.1,4C5.3,4.3,5.1,4.3,5.4,4.5C5.7,4.6,5.9,4.6,6,4.7C6.1,4.7,6.1,4.7,6.1,4.8C6.1,4.9,5.7,5.1,5.7,5.2C5.6,5.4,6,5.8,6,5.8C6,5.8,6.4,6.2,6.8,6C7.1,5.9,7.2,6.3,7.3,6.1C7.3,5.9,7.2,5.6,7.2,5.6C7.2,5.6,7.2,5.2,6.7,5.2C6.5,5.2,6.7,5,6.5,4.9C6.3,4.9,6.6,4.7,6.6,4.7C6.6,4.7,7,4.3,7,4.3C6.9,4.2,6.6,4.3,6.6,4.3C6.6,4.3,6.5,4.3,6.3,4.2C6.1,4.1,6.3,3.9,6.3,3.9C6.3,3.9,6.2,3.6,6,3.6C5.9,3.7,5.7,3.7,5.7,3.7C5.7,3.7,5.6,3.7,5.5,3.5C5.3,3.4,5.6,3.2,6,3.2C6.3,3.3,7.3,3.8,7.4,4C7.5,4.2,7.3,4.4,7.3,4.4C7.3,4.4,7.4,4.7,7.5,4.7C7.7,4.8,8.1,4.4,8.1,4.4C8.1,4.4,8.2,4.3,8.4,4.3C8.6,4.3,9.2,4.6,9.2,4.6C9.2,4.6,9.6,4.6,9.7,4.7C9.8,4.9,9.7,4.9,9.6,5C9.4,5.1,9,5,9,5C9,5,8.9,5,8.8,5.1C8.7,5.3,8.8,5.5,9,5.6C9.1,5.7,9.5,5.7,9.6,5.7C9.7,5.7,9.8,5.8,9.7,5.9C9.6,6.2,9,6.6,9,6.7C9,6.8,9.1,6.7,9.2,6.9C9.2,7,9.2,7.2,9.3,7.3C9.4,7.4,9.5,7.6,9.5,7.8C9.5,8,9.4,8.3,9.4,8.5C9.3,8.8,9.6,9,9.6,9.1C9.6,9.2,9.6,9.5,9.5,9.7C9.4,9.8,9.3,9.5,9.1,9.4C9,9.3,8.8,9.3,8.5,9.3C8.2,9.3,7.8,9.7,7.7,9.8C7.6,10,7.5,10.3,7.5,10.6C7.5,10.9,7.9,11.2,7.9,11.2C7.9,11.2,8,11.3,8.3,11.3C8.6,11.4,8.9,10.8,9.1,10.8C9.2,10.8,9.2,11.1,9.2,11.1C10.1,11,10.4,11.4,10.6,11.4C10.8,11.5,11.1,11.5,11.3,11.4C11.5,11.3,11.7,10.6,11.9,10.5C12,10.3,12.5,10.4,12.8,10.3C13.1,10.2,13.5,9.8,13.6,9.7C13.8,9.6,13.8,9.7,13.9,9.7C14.1,9.7,14.7,9.5,15,9.4C15.2,9.4,15.4,9.6,15.5,9.6C15.7,9.6,15.8,9.5,15.8,9.5C15.8,9.5,16.7,9,16.9,9C17.2,8.9,17.3,9.3,17.3,9.3C17.3,9.3,17.3,11.2,17.3,11.5C17.3,11.7,17.2,12.3,17,12.7C16.9,13.1,14.1,17.2,13.8,17.1C13.6,17.1,14.5,15,14.1,14.6C13.8,14.3,12.3,14.2,11.8,13.9C11.3,13.6,12.1,12.6,11.8,12.4C11.6,12.2,10.6,12.1,10.6,12.1C10.6,12.1,9.1,11.7,8.9,11.8C8.6,11.8,8.1,12.3,7.9,12.3C7.7,12.4,6.8,12.4,6.6,12.3C6.3,12.3,5.9,11.3,5.7,11.2C5.5,11.1,4.5,10.7,4.4,10.9C4.3,11.1,5.3,11.9,5.3,12C5.3,12.1,4.8,11.8,4.5,11.7C4.3,11.6,4,10.5,3.8,10.4C3.6,10.2,3.1,10.1,3,9.8C2.9,9.6,3,8.9,2.9,8.7C2.7,8.6,1.9,7.6,2,7.4C2,7.2,2.5,7.5,2.6,7.4C2.7,7.3,2.8,7,2.7,7C2.6,6.9,2.3,6.9,2.1,6.8C1.8,6.8,1.3,6.5,1.1,6.5C1,6.5,.4,6.7,.3,6.6C.2,6.4,.9,6.3,1.1,6C1.3,5.6,1.3,5.4,1.2,5.4C1.1,5.3,0,5.5,0,5.5C0,5.5,.6,3.9,2.3,2.4zM3.2,16.1C3.5,16.1,3.5,16,3.6,15.9C3.6,15.8,3.9,15.8,4,16C4.2,16.1,4.4,16.2,4.5,16.3C4.7,16.3,4.7,16.7,4.7,16.7C5,17.4,6.1,17.4,6.1,17.7C6.1,17.8,6,17.8,5.9,17.9C5.7,17.9,5.7,18.1,5.5,18.1C5.3,18.1,5.1,18,4.9,17.9C4.7,17.8,3.6,17.3,3.4,17.2C3.3,17.1,2.9,16.9,2.9,16.9C2.9,16.9,2.7,16.7,2.5,16.6C2.3,16.5,2.5,16.4,2.5,16.4C2.5,16.4,2.7,16.4,2.8,16.3C2.8,16.2,2.9,16.1,3.2,16.1zM5.1,3C5.3,3.1,5.3,2.9,5.5,2.8C5.7,2.8,6.8,3.1,6.8,3.1C6.8,3.1,7.8,3.4,8.1,3.4C8.3,3.5,8.6,3.6,8.7,3.4C8.8,3.2,8.2,2.6,8.2,2.6C8.2,2.6,7.7,1.9,7.5,1.8C7.4,1.7,7.1,1.6,7,1.8C6.8,2,6.4,1.7,5.9,1.8C5.3,1.9,5.3,2,5.3,2C5.1,2.4,4.8,2.9,5.1,3zM8.3,1.6C8.4,1.5,8.6,1.6,8.6,1.6C8.6,1.6,8.9,1.6,9,1.7C9,1.9,8.7,1.9,8.7,2C8.6,2.1,8.6,2.4,8.5,2.4C8.4,2.5,8.4,2.3,8.4,2.3C8.2,2.1,8.1,1.6,8.3,1.6zM17.1,5.2C17.1,5.2,16.7,5.2,16.4,5.2C16.2,5.2,16.1,4.9,16.1,4.9C15.8,4.5,15.5,3.9,15.4,4.1C15.2,4.2,15,4.1,15,4.1C14.7,3.5,14.5,2.8,14.2,2.8C14,2.7,13.7,2.5,13.5,2.3C13.4,2.1,12.7,2.2,12.4,2.1C12.1,2,11.9,2.1,11.8,1.9C11.7,1.6,11.9,1.6,11.9,1.4C11.9,1.1,11.8,.8,11.7,.8C11.5,.8,11.5,.9,11.5,1.2C11.4,1.5,11,1.9,10.7,1.9C10.5,2,10.3,1.7,10.3,1.7C10.3,1.7,9.5,1.1,9.4,1C9.4,.8,9,.9,8.8,.7C8.6,.5,8.5,.7,8.2,.7C7.8,.7,7.8,.6,7.6,.6C7.5,.5,7.6,.6,7.2,.6C6.8,.6,6,.4,6,.4C6,.4,9.4,-0.7,12.6,.9C15.7,2.3,17.1,5.2,17.1,5.2zM9.2,10.2C9.1,10.1,9.3,10,9.3,10C9.3,10,9.4,9.9,9.6,9.8C9.7,9.7,9.8,9.7,9.9,9.7C10.1,9.7,10.7,9.8,10.7,9.8C11.1,9.7,11.4,9.5,11.5,9.5C11.6,9.5,11.6,9.7,11.6,9.7C12,9.3,12.1,9.1,12.2,8.9C12.4,8.8,12.5,8.7,12.7,8.7C12.8,8.7,13,8.7,13,8.8C13.1,8.8,12.7,9.2,12.7,9.2L10.9,10.3C10.5,10.3,10.4,10.3,10.3,10.2C10.2,10.1,10.5,10,10.3,10C10.2,10,10,10,10,10C10,10,9.4,10.5,9.2,10.2z" id="shape546" fill="url(#lg27)"/><path transform="translate(1.44,0.86)" d="M0,3.8C0,3.8,4.2,-0.5,11.9,0" id="shape547" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.37,2.44)" d="M0,5C0,5,7.6,1.5,15.4,0" id="shape548" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.08,4.37)" d="M0,5.5C0,5.5,13,2.1,17.4,0" id="shape549" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.6,6.77)" d="M0,6C0,6,9.6,5.1,17.9,0" id="shape550" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(1.78,9.32)" d="M0,5.9C0,5.9,9.7,5.5,17.2,0" id="shape551" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(3.95,11.53)" d="M0,5.8C0,5.8,9.1,5.6,14.9,0" id="shape552" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(6.39,14.51)" d="M0,4.2C0,4.2,6.8,4.2,11.3,0" id="shape553" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(10.3,0.13)" d="M0,0C10.7,6,6,16.2,6,16.2" id="shape554" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(8.46,0.19)" d="M6.3,17.4C6.3,17.4,8.4,7.2,0,0" id="shape555" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(6.94,0.5)" d="M0,0C3.6,3.8,6.2,17.9,6.2,17.9" id="shape556" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(5.92,0.8)" d="M5.5,18.2C5.5,18.2,-0.4,8.9,0,0" id="shape557" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(4,1.47)" d="M.7,0C-2.4,11.6,5.7,17.7,5.7,17.7" id="shape558" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(1.59,2.54)" d="M1.7,0C-3.9,10.9,6.1,16.4,6.1,16.4" id="shape559" stroke-opacity="0.4" fill="none" stroke="#ffffff"/></g><text class="st64"><tspan y="98.9" x="-8.6">dubbo-app集群</tspan></text></g><g transform="translate(908.18,322.21)"><g><path transform="translate(0.16,0)" d="M0,16.7L.4,15.6L37.2,0L62,6.4L24.3,31.3L0,16.7z" id="shape560" fill="url(#lg62)" stroke="#3a3a3a"/><path transform="translate(13.31,6.43)" d="M9.7,76L49,54.5L49,.8L10.3,18.4L0,49.7L9.7,76z" id="shape561" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15.58)" d="M.8,0L22.8,8.7C23.3,8.9,23.6,9.3,23.6,9.5L23.6,66.1C23.6,66.6,23.2,66.8,22.8,66.8L.8,56C.2,55.6,.1,55.5,0,55.2L0,.8C0,.3,.3,0,.8,0z" id="shape562" fill="url(#lg2)" stroke="#424242"/><path transform="translate(21.21,5.9)" d="M0,18C1.7,18.7,1.9,18.6,3.1,19.7C3.8,20.3,4.1,22.1,4.1,22.1L41.1,1.6C41.1,1.6,41.3,.8,40.9,.5C40.7,.3,38.4,0,38.4,0L0,18z" id="shape563" fill="url(#lg63)"/><path transform="translate(21,23.71)" d="M-0,0C1,0,4.1,1.4,4.3,4C4.3,4.8,4.3,57.3,4.3,57.3C4.3,57.3,2.2,59,1.9,58.7C1.7,58.4,0,57.9,0,57.9L-0,0z" id="shape564" fill="url(#lg4)"/><path transform="translate(0.09,16)" d="M14.1,4.8L7,58.6L0,55.6L0,.2C0,.2,-0.2,-0.2,.8,.1L14.1,4.8z" id="shape565" fill="url(#lg64)"/><g transform="translate(0.05,22.67)"><g transform="translate(0.08,-0)" id="shape566"><g clip-path="url(#clip33)"><path stroke-width="2" d="M12.9,0L12.9,7.2L0,0z" fill="url(#lg84)" stroke="url(#lg84)"/></g><g clip-path="url(#clip33)"><path stroke-width="2" d="M12.9,7.2L0,7.2L0,0z" fill="url(#lg85)" stroke="url(#lg85)"/></g><path d="M0,0L0,1.2L12.9,7.2L12.9,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,8.08)" id="shape567"><g clip-path="url(#clip34)"><path stroke-width="2" d="M12.9,0L12.9,7.2L0,0z" fill="url(#lg86)" stroke="url(#lg86)"/></g><g clip-path="url(#clip34)"><path stroke-width="2" d="M12.9,7.2L0,7.2L0,0z" fill="url(#lg87)" stroke="url(#lg87)"/></g><path d="M0,0L0,1.3L12.9,7.2L12.9,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,16.22)" id="shape568"><g clip-path="url(#clip35)"><path stroke-width="2" d="M13,0L13,7.4L0,0z" fill="url(#lg88)" stroke="url(#lg88)"/></g><g clip-path="url(#clip35)"><path stroke-width="2" d="M13,7.4L0,7.4L0,0z" fill="url(#lg89)" stroke="url(#lg89)"/></g><path d="M0,0L0,1.4L13,7.4L13,6.1L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.11,24.65)" id="shape569"><g clip-path="url(#clip36)"><path stroke-width="2" d="M12.8,0L12.8,7.2L0,0z" fill="url(#lg90)" stroke="url(#lg90)"/></g><g clip-path="url(#clip36)"><path stroke-width="2" d="M12.8,7.2L0,7.2L0,0z" fill="url(#lg91)" stroke="url(#lg91)"/></g><path d="M0,0L0,1.4L12.8,7.2L12.8,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.92,5.55)" id="shape570"><g clip-path="url(#clip37)"><path stroke-width="2" d="M11.6,0L11.6,6.2L0,0z" fill="url(#lg92)" stroke="url(#lg92)"/></g><g clip-path="url(#clip37)"><path stroke-width="2" d="M11.6,6.2L0,6.2L0,0z" fill="url(#lg93)" stroke="url(#lg93)"/></g><path d="M0,0L0,1.2L11.6,6.2L11.6,5.1L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.92,13.44)" id="shape571"><g clip-path="url(#clip38)"><path stroke-width="2" d="M11.6,0L11.6,6.7L0,0z" fill="url(#lg94)" stroke="url(#lg94)"/></g><g clip-path="url(#clip38)"><path stroke-width="2" d="M11.6,6.7L0,6.7L0,0z" fill="url(#lg95)" stroke="url(#lg95)"/></g><path d="M0,0L0,1.5L11.6,6.7L11.6,5.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.86,21.8)" id="shape572"><g clip-path="url(#clip39)"><path stroke-width="2" d="M11.7,0L11.7,6.5L0,0z" fill="url(#lg96)" stroke="url(#lg96)"/></g><g clip-path="url(#clip39)"><path stroke-width="2" d="M11.7,6.5L0,6.5L0,0z" fill="url(#lg97)" stroke="url(#lg97)"/></g><path d="M0,0L11.7,5.3L11.7,6.5L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.86,30.02)" id="shape573"><g clip-path="url(#clip40)"><path stroke-width="2" d="M11.7,6.8L0,6.8L11.7,0z" fill="url(#lg98)" stroke="url(#lg98)"/></g><g clip-path="url(#clip40)"><path stroke-width="2" d="M0,0L0,6.8L11.7,0z" fill="url(#lg99)" stroke="url(#lg99)"/></g><path d="M0,0L11.7,5.5L11.7,6.8L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.55,5.83)" d="M0,0L8.7,3.9L9.7,5.7L0,1.3L0,0z" id="shape574" fill="url(#lg23)"/><path transform="translate(12.39,13.58)" d="M0,0L8.7,4L9.7,6L.1,1.6L0,0z" id="shape575" fill="url(#lg23)"/><path transform="translate(12.5,22.05)" d="M0,0L8.7,3.9L9.7,5.9L0,1.5L0,0z" id="shape576" fill="url(#lg23)"/><path transform="translate(12.5,30.4)" d="M0,0L8.7,3.9L9.7,5.7L0,1.3L0,0z" id="shape577" fill="url(#lg24)"/><path transform="translate(12.5,30.4)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape578" fill="url(#lg25)"/><path transform="translate(12.67,22.01)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape579" fill="url(#lg26)"/><path transform="translate(12.7,13.82)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape580" fill="url(#lg26)"/><path transform="translate(12.7,5.71)" d="M0,0L10.1,4.7L10.1,5.9L1.4,2.1L0,0z" id="shape581" fill="url(#lg26)"/></g></g><g transform="translate(36.95,51.92)"><path transform="matrix(-1,0,0,1,34.9,-0)" d="M2.6,29.6C2.5,30.1,2.2,29.5,2.2,29C2.2,28.4,0,3.3,0,3.3C0,3.3,.1,2.3,1.3,2.1C2.5,1.9,9.5,.7,10,.7C10.7,.8,10.5,2.8,10.9,2.8C11.4,2.8,28.2,0,28.2,0C28.2,0,28.6,-0.1,28.5,.7C28.5,1.3,2.6,29.5,2.6,29.6z" id="shape582" fill="#e7d299"/><path transform="matrix(-1,0,0,1,34.4,0.3)" d="M2.1,29.8L0,3.2C0,3.2,-0.2,2.3,1.3,2C2.7,1.8,9.1,.7,9.1,.7C9.1,.7,9.8,.3,10,1.9C10.1,3.1,10.7,2.9,11.3,2.8C11.8,2.7,27.8,0,27.8,0C27.8,0,28.1,0,28.1,.8C28.1,1.7,27.2,20.2,27.2,20.2L2.1,29.8z" id="shape583" fill="url(#lg81)"/><path transform="matrix(-1,0,0,1,31.1,2.8)" d="M0,26.5L.3,4.5L25.2,0L0,26.5z" id="shape584" fill="#ffffff" fill-opacity="0.55"/><path transform="matrix(-1,0,0,1,32.9,1.6)" d="M.9,27.6L0,5.5L26.7,0L25.4,18.6L.9,27.6z" id="shape585" fill="#fcfcfc" stroke="#bcbcbc"/><path transform="matrix(-1,0,0,1,31.9,2.3)" d="M2.1,5.6L0,26.9C0,26.9,24.5,18.5,24.5,18.4C24.4,18.3,28.1,0,28.1,0L2.1,5.6z" id="shape586" fill="#fcfcfc" stroke="#a0a0a0"/><path transform="matrix(-1,0,0,1,31.1,3.3)" d="M3.9,5.2L0,26L24.1,17.1L28.7,0L3.9,5.2z" id="shape587" fill="#fcfcfc" stroke="#a0a0a0"/><path transform="matrix(-1,0,0,1,32.2,4.1)" d="M.3,26L3.5,10C3.5,10,3.7,9,4.5,8.7C5.4,8.4,12.6,6.8,12.6,6.8C12.6,6.8,13.3,6.6,13.3,5.3C13.4,4,14.5,3.7,14.5,3.7L31.5,0L10.5,9.4L.3,26z" id="shape588" fill="#e7d299"/><path transform="matrix(-1,0,0,1,32.4,4.3)" d="M.1,25.2C.1,25.2,.3,25.9,.4,25.8C.6,25.6,3.9,10.7,4.2,10C4.5,9.3,4.6,8.9,5.5,8.7C6.4,8.5,13.3,7,13.3,7C13.3,7,13.7,7,13.9,5.9C14,4.9,14,4.1,15.1,3.8C16.2,3.5,32.1,-0.2,32.2,0C32.3,.2,32.5,.1,32.3,.8C32.2,1.5,32.3,14.8,32.3,14.8C32.3,14.8,32.3,15.3,31.8,15.4C31.2,15.5,.5,26.2,.5,26.2C.5,26.2,-0.3,26.1,.1,25.2z" id="shape589" fill="url(#lg82)"/><path transform="matrix(-1,0,0,1,5.2,4)" d="M224.2,342.7" id="shape590" fill="none" stroke="#000000"/><path transform="matrix(-1,0,0,1,27,4.3)" d="M16,2.3C16,2.3,26.6,-0.1,26.8,0C26.9,.3,27.1,.4,27,1.1C26.8,1.9,26.9,14.8,26.9,14.8C26.9,14.8,26.9,15.3,26.4,15.4C25.8,15.4,0,24.3,0,24.3L16,2.3z" id="shape591" fill="url(#lg83)"/></g><g transform="translate(31.16,62.78)"><path d="M0,9.6C0,4.3,4.3,0,9.5,0C14.8,0,19.1,4.3,19.1,9.6C19.1,14.9,14.8,19.3,9.5,19.3C4.3,19.3,0,14.9,0,9.6z" id="shape592" fill="url(#rg2)" stroke="#4195f8"/><path transform="translate(0.91,-0)" d="M2.3,2.4C1.4,3.5,1.3,4,1.3,4C1.3,4,.9,4.8,1.2,5C1.5,5.2,1.6,4.9,1.9,4.9C2.3,4.9,2.4,5.2,2.8,5.2C3.2,5.2,3.6,5,3.9,5C4.3,5,4.6,5,4.8,4.8C5,4.7,4.9,4.5,4.7,4.5C4.6,4.5,4.2,4.8,4,4.7C3.8,4.7,3.6,4.7,3.6,4.7C3.6,4.7,3.3,4.6,3.3,4.4C3.4,4.3,3.6,4.3,3.6,4.3C4.3,4.2,4.4,3.8,4.5,3.7C4.7,3.7,4.9,3.7,5.1,4C5.3,4.3,5.1,4.3,5.4,4.5C5.7,4.6,5.9,4.6,6,4.7C6.1,4.7,6.1,4.7,6.1,4.8C6.1,4.9,5.7,5.1,5.7,5.2C5.6,5.4,6,5.8,6,5.8C6,5.8,6.4,6.2,6.8,6C7.1,5.9,7.2,6.3,7.3,6.1C7.3,5.9,7.2,5.6,7.2,5.6C7.2,5.6,7.2,5.2,6.7,5.2C6.5,5.2,6.7,5,6.5,4.9C6.3,4.9,6.6,4.7,6.6,4.7C6.6,4.7,7,4.3,7,4.3C6.9,4.2,6.6,4.3,6.6,4.3C6.6,4.3,6.5,4.3,6.3,4.2C6.1,4.1,6.3,3.9,6.3,3.9C6.3,3.9,6.2,3.6,6,3.6C5.9,3.7,5.7,3.7,5.7,3.7C5.7,3.7,5.6,3.7,5.5,3.5C5.3,3.4,5.6,3.2,6,3.2C6.3,3.3,7.3,3.8,7.4,4C7.5,4.2,7.3,4.4,7.3,4.4C7.3,4.4,7.4,4.7,7.5,4.7C7.7,4.8,8.1,4.4,8.1,4.4C8.1,4.4,8.2,4.3,8.4,4.3C8.6,4.3,9.2,4.6,9.2,4.6C9.2,4.6,9.6,4.6,9.7,4.7C9.8,4.9,9.7,4.9,9.6,5C9.4,5.1,9,5,9,5C9,5,8.9,5,8.8,5.1C8.7,5.3,8.8,5.5,9,5.6C9.1,5.7,9.5,5.7,9.6,5.7C9.7,5.7,9.8,5.8,9.7,5.9C9.6,6.2,9,6.6,9,6.7C9,6.8,9.1,6.7,9.2,6.9C9.2,7,9.2,7.2,9.3,7.3C9.4,7.4,9.5,7.6,9.5,7.8C9.5,8,9.4,8.3,9.4,8.5C9.3,8.8,9.6,9,9.6,9.1C9.6,9.2,9.6,9.5,9.5,9.7C9.4,9.8,9.3,9.5,9.1,9.4C9,9.3,8.8,9.3,8.5,9.3C8.2,9.3,7.8,9.7,7.7,9.8C7.6,10,7.5,10.3,7.5,10.6C7.5,10.9,7.9,11.2,7.9,11.2C7.9,11.2,8,11.3,8.3,11.3C8.6,11.4,8.9,10.8,9.1,10.8C9.2,10.8,9.2,11.1,9.2,11.1C10.1,11,10.4,11.4,10.6,11.4C10.8,11.5,11.1,11.5,11.3,11.4C11.5,11.3,11.7,10.6,11.9,10.5C12,10.3,12.5,10.4,12.8,10.3C13.1,10.2,13.5,9.8,13.6,9.7C13.8,9.6,13.8,9.7,13.9,9.7C14.1,9.7,14.7,9.5,15,9.4C15.2,9.4,15.4,9.6,15.5,9.6C15.7,9.6,15.8,9.5,15.8,9.5C15.8,9.5,16.7,9,16.9,9C17.2,8.9,17.3,9.3,17.3,9.3C17.3,9.3,17.3,11.2,17.3,11.5C17.3,11.7,17.2,12.3,17,12.7C16.9,13.1,14.1,17.2,13.8,17.1C13.6,17.1,14.5,15,14.1,14.6C13.8,14.3,12.3,14.2,11.8,13.9C11.3,13.6,12.1,12.6,11.8,12.4C11.6,12.2,10.6,12.1,10.6,12.1C10.6,12.1,9.1,11.7,8.9,11.8C8.6,11.8,8.1,12.3,7.9,12.3C7.7,12.4,6.8,12.4,6.6,12.3C6.3,12.3,5.9,11.3,5.7,11.2C5.5,11.1,4.5,10.7,4.4,10.9C4.3,11.1,5.3,11.9,5.3,12C5.3,12.1,4.8,11.8,4.5,11.7C4.3,11.6,4,10.5,3.8,10.4C3.6,10.2,3.1,10.1,3,9.8C2.9,9.6,3,8.9,2.9,8.7C2.7,8.6,1.9,7.6,2,7.4C2,7.2,2.5,7.5,2.6,7.4C2.7,7.3,2.8,7,2.7,7C2.6,6.9,2.3,6.9,2.1,6.8C1.8,6.8,1.3,6.5,1.1,6.5C1,6.5,.4,6.7,.3,6.6C.2,6.4,.9,6.3,1.1,6C1.3,5.6,1.3,5.4,1.2,5.4C1.1,5.3,0,5.5,0,5.5C0,5.5,.6,3.9,2.3,2.4zM3.2,16.1C3.5,16.1,3.5,16,3.6,15.9C3.6,15.8,3.9,15.8,4,16C4.2,16.1,4.4,16.2,4.5,16.3C4.7,16.3,4.7,16.7,4.7,16.7C5,17.4,6.1,17.4,6.1,17.7C6.1,17.8,6,17.8,5.9,17.9C5.7,17.9,5.7,18.1,5.5,18.1C5.3,18.1,5.1,18,4.9,17.9C4.7,17.8,3.6,17.3,3.4,17.2C3.3,17.1,2.9,16.9,2.9,16.9C2.9,16.9,2.7,16.7,2.5,16.6C2.3,16.5,2.5,16.4,2.5,16.4C2.5,16.4,2.7,16.4,2.8,16.3C2.8,16.2,2.9,16.1,3.2,16.1zM5.1,3C5.3,3.1,5.3,2.9,5.5,2.8C5.7,2.8,6.8,3.1,6.8,3.1C6.8,3.1,7.8,3.4,8.1,3.4C8.3,3.5,8.6,3.6,8.7,3.4C8.8,3.2,8.2,2.6,8.2,2.6C8.2,2.6,7.7,1.9,7.5,1.8C7.4,1.7,7.1,1.6,7,1.8C6.8,2,6.4,1.7,5.9,1.8C5.3,1.9,5.3,2,5.3,2C5.1,2.4,4.8,2.9,5.1,3zM8.3,1.6C8.4,1.5,8.6,1.6,8.6,1.6C8.6,1.6,8.9,1.6,9,1.7C9,1.9,8.7,1.9,8.7,2C8.6,2.1,8.6,2.4,8.5,2.4C8.4,2.5,8.4,2.3,8.4,2.3C8.2,2.1,8.1,1.6,8.3,1.6zM17.1,5.2C17.1,5.2,16.7,5.2,16.4,5.2C16.2,5.2,16.1,4.9,16.1,4.9C15.8,4.5,15.5,3.9,15.4,4.1C15.2,4.2,15,4.1,15,4.1C14.7,3.5,14.5,2.8,14.2,2.8C14,2.7,13.7,2.5,13.5,2.3C13.4,2.1,12.7,2.2,12.4,2.1C12.1,2,11.9,2.1,11.8,1.9C11.7,1.6,11.9,1.6,11.9,1.4C11.9,1.1,11.8,.8,11.7,.8C11.5,.8,11.5,.9,11.5,1.2C11.4,1.5,11,1.9,10.7,1.9C10.5,2,10.3,1.7,10.3,1.7C10.3,1.7,9.5,1.1,9.4,1C9.4,.8,9,.9,8.8,.7C8.6,.5,8.5,.7,8.2,.7C7.8,.7,7.8,.6,7.6,.6C7.5,.5,7.6,.6,7.2,.6C6.8,.6,6,.4,6,.4C6,.4,9.4,-0.7,12.6,.9C15.7,2.3,17.1,5.2,17.1,5.2zM9.2,10.2C9.1,10.1,9.3,10,9.3,10C9.3,10,9.4,9.9,9.6,9.8C9.7,9.7,9.8,9.7,9.9,9.7C10.1,9.7,10.7,9.8,10.7,9.8C11.1,9.7,11.4,9.5,11.5,9.5C11.6,9.5,11.6,9.7,11.6,9.7C12,9.3,12.1,9.1,12.2,8.9C12.4,8.8,12.5,8.7,12.7,8.7C12.8,8.7,13,8.7,13,8.8C13.1,8.8,12.7,9.2,12.7,9.2L10.9,10.3C10.5,10.3,10.4,10.3,10.3,10.2C10.2,10.1,10.5,10,10.3,10C10.2,10,10,10,10,10C10,10,9.4,10.5,9.2,10.2z" id="shape593" fill="url(#lg27)"/><path transform="translate(1.44,0.86)" d="M0,3.8C0,3.8,4.2,-0.5,11.9,0" id="shape594" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.37,2.44)" d="M0,5C0,5,7.6,1.5,15.4,0" id="shape595" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.08,4.37)" d="M0,5.5C0,5.5,13,2.1,17.4,0" id="shape596" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(0.6,6.77)" d="M0,6C0,6,9.6,5.1,17.9,0" id="shape597" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(1.78,9.32)" d="M0,5.9C0,5.9,9.7,5.5,17.2,0" id="shape598" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(3.95,11.53)" d="M0,5.8C0,5.8,9.1,5.6,14.9,0" id="shape599" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(6.39,14.51)" d="M0,4.2C0,4.2,6.8,4.2,11.3,0" id="shape600" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(10.3,0.13)" d="M0,0C10.7,6,6,16.2,6,16.2" id="shape601" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(8.46,0.19)" d="M6.3,17.4C6.3,17.4,8.4,7.2,0,0" id="shape602" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(6.94,0.5)" d="M0,0C3.6,3.8,6.2,17.9,6.2,17.9" id="shape603" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(5.92,0.8)" d="M5.5,18.2C5.5,18.2,-0.4,8.9,0,0" id="shape604" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(4,1.47)" d="M.7,0C-2.4,11.6,5.7,17.7,5.7,17.7" id="shape605" stroke-opacity="0.4" fill="none" stroke="#ffffff"/><path transform="translate(1.59,2.54)" d="M1.7,0C-3.9,10.9,6.1,16.4,6.1,16.4" id="shape606" stroke-opacity="0.4" fill="none" stroke="#ffffff"/></g><text class="st64"><tspan y="98.9" x="-8.6">dubbo-app集群</tspan></text></g><g transform="translate(770.81,469.7)"><g transform="translate(-0.35,0)"><path transform="translate(0.16,0)" d="M0,16.4L.4,15.3L36.9,0L61.5,6.3L24.1,30.8L0,16.4z" id="shape607" fill="url(#lg62)" stroke="#3a3a3a"/><path transform="translate(13.19,6.32)" d="M9.7,74.7L48.6,53.6L48.6,.7L10.2,18.1L0,48.8L9.7,74.7z" id="shape608" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15.31)" d="M.8,0L22.6,8.6C23.1,8.7,23.4,9.1,23.4,9.4L23.4,65C23.4,65.4,23.1,65.7,22.6,65.7L.8,55C.2,54.7,.1,54.5,0,54.2L0,.8C0,.3,.3,0,.8,0z" id="shape609" fill="url(#lg2)" stroke="#424242"/><path transform="translate(21.04,5.8)" d="M0,17.7C1.7,18.4,1.9,18.3,3.1,19.4C3.7,19.9,4,21.7,4,21.7L40.7,1.6C40.7,1.6,40.9,.8,40.6,.5C40.3,.3,38,0,38,0L0,17.7z" id="shape610" fill="url(#lg63)"/><path transform="translate(20.82,23.3)" d="M-0,0C1,0,4.1,1.4,4.2,3.9C4.3,4.7,4.2,56.3,4.2,56.3C4.2,56.3,2.2,57.9,1.9,57.7C1.7,57.4,0,56.9,0,56.9L-0,0z" id="shape611" fill="url(#lg4)"/><path transform="translate(0.09,15.72)" d="M14,4.7L7,57.6L0,54.6L0,.2C0,.2,-0.2,-0.2,.8,.1L14,4.7z" id="shape612" fill="url(#lg64)"/><g transform="translate(0.05,22.28)"><g transform="translate(0.08,-0)" id="shape613"><g clip-path="url(#clip41)"><path stroke-width="2" d="M12.8,0L12.8,7L0,0z" fill="url(#lg100)" stroke="url(#lg100)"/></g><g clip-path="url(#clip41)"><path stroke-width="2" d="M12.8,7L0,7L0,0z" fill="url(#lg101)" stroke="url(#lg101)"/></g><path d="M0,0L0,1.2L12.8,7L12.8,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,7.94)" id="shape614"><g clip-path="url(#clip42)"><path stroke-width="2" d="M12.8,0L12.8,7.1L0,0z" fill="url(#lg102)" stroke="url(#lg102)"/></g><g clip-path="url(#clip42)"><path stroke-width="2" d="M12.8,7.1L0,7.1L0,0z" fill="url(#lg103)" stroke="url(#lg103)"/></g><path d="M0,0L0,1.3L12.8,7.1L12.8,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,15.94)" id="shape615"><g clip-path="url(#clip43)"><path stroke-width="2" d="M12.8,0L12.8,7.3L0,0z" fill="url(#lg104)" stroke="url(#lg104)"/></g><g clip-path="url(#clip43)"><path stroke-width="2" d="M12.8,7.3L0,7.3L0,0z" fill="url(#lg105)" stroke="url(#lg105)"/></g><path d="M0,0L0,1.4L12.8,7.3L12.8,6L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.11,24.23)" id="shape616"><g clip-path="url(#clip44)"><path stroke-width="2" d="M12.7,0L12.7,7.1L0,0z" fill="url(#lg106)" stroke="url(#lg106)"/></g><g clip-path="url(#clip44)"><path stroke-width="2" d="M12.7,7.1L0,7.1L0,0z" fill="url(#lg107)" stroke="url(#lg107)"/></g><path d="M0,0L0,1.4L12.7,7.1L12.7,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.82,5.45)" id="shape617"><g clip-path="url(#clip45)"><path stroke-width="2" d="M11.5,0L11.5,6.1L0,0z" fill="url(#lg108)" stroke="url(#lg108)"/></g><g clip-path="url(#clip45)"><path stroke-width="2" d="M11.5,6.1L0,6.1L0,0z" fill="url(#lg109)" stroke="url(#lg109)"/></g><path d="M0,0L0,1.2L11.5,6.1L11.5,5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.82,13.21)" id="shape618"><g clip-path="url(#clip46)"><path stroke-width="2" d="M11.6,0L11.6,6.6L0,0z" fill="url(#lg110)" stroke="url(#lg110)"/></g><g clip-path="url(#clip46)"><path stroke-width="2" d="M11.6,6.6L0,6.6L0,0z" fill="url(#lg111)" stroke="url(#lg111)"/></g><path d="M0,0L0,1.4L11.6,6.6L11.6,5.3L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.76,21.42)" id="shape619"><g clip-path="url(#clip47)"><path stroke-width="2" d="M11.6,0L11.6,6.4L0,0z" fill="url(#lg112)" stroke="url(#lg112)"/></g><g clip-path="url(#clip47)"><path stroke-width="2" d="M11.6,6.4L0,6.4L0,0z" fill="url(#lg113)" stroke="url(#lg113)"/></g><path d="M0,0L11.6,5.2L11.6,6.4L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.76,29.5)" id="shape620"><g clip-path="url(#clip48)"><path stroke-width="2" d="M11.6,6.6L0,6.6L11.6,0z" fill="url(#lg114)" stroke="url(#lg114)"/></g><g clip-path="url(#clip48)"><path stroke-width="2" d="M0,0L0,6.6L11.6,0z" fill="url(#lg115)" stroke="url(#lg115)"/></g><path d="M0,0L11.6,5.4L11.6,6.6L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.44,5.73)" d="M0,0L8.7,3.8L9.7,5.6L0,1.3L0,0z" id="shape621" fill="url(#lg23)"/><path transform="translate(12.29,13.34)" d="M0,0L8.6,3.9L9.6,5.9L.1,1.6L0,0z" id="shape622" fill="url(#lg23)"/><path transform="translate(12.4,21.67)" d="M0,0L8.7,3.8L9.7,5.8L0,1.5L0,0z" id="shape623" fill="url(#lg23)"/><path transform="translate(12.4,29.87)" d="M0,0L8.7,3.8L9.7,5.6L0,1.3L0,0z" id="shape624" fill="url(#lg24)"/><path transform="translate(12.4,29.87)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape625" fill="url(#lg25)"/><path transform="translate(12.56,21.63)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape626" fill="url(#lg26)"/><path transform="translate(12.6,13.58)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape627" fill="url(#lg26)"/><path transform="translate(12.6,5.61)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape628" fill="url(#lg26)"/></g></g><g transform="translate(30.56,41.74)"><path transform="translate(0,17.11)" d="M0,15.7C0,7,7.5,0,16.7,0C25.9,0,33.4,7,33.4,15.7C33.4,24.3,0,24.3,0,15.7z" id="shape629" fill="url(#lg116)"/><path transform="translate(0.56,17.52)" d="M0,15C0,6.7,7.2,0,16.1,0C25,0,32.3,6.7,32.3,15C32.3,23.3,0,23.3,0,15z" id="shape630" fill="#ffffff" fill-opacity="0.14"/><path transform="translate(-0.01,20.55)" d="M0,12.2C.3,4.1,5.6,.7,6.4,0C10.5,6.2,7.5,14.4,5.6,17.1C5.6,17.1,.4,16.1,0,12.2z" id="shape631" fill="#ffffff" fill-opacity="0.14"/><path transform="matrix(-1,0,0,1,33.4,20.5)" d="M0,12.2C.2,4.1,5.6,.7,6.4,0C10.4,6.2,7.5,14.4,5.6,17.1C5.6,17.1,.1,15.7,0,12.2z" id="shape632" fill="#ffffff" fill-opacity="0.14"/><path transform="translate(6.73,-0)" d="M0,9.8C0,4.4,4.5,0,10,0C15.5,0,19.9,4.4,19.9,9.8C19.9,15.2,15.5,19.5,10,19.5C4.5,19.5,0,15.2,0,9.8z" id="shape633" fill="#f7d0ae"/><path transform="translate(6.71,-0)" d="M0,9.8C0,4.4,4.5,0,10,0C15.5,0,20,4.4,20,9.8C20,13.6,16.8,11.4,12,8.4C7.6,5.5,7.8,4.8,6.2,4.8C1.8,6.6,0,15.2,0,9.8z" id="shape634" fill="#a0522d"/><path transform="translate(6.82,0.17)" d="M0,9.7C0,4.5,4.5,0,9.9,0C15.2,0,19.7,4.4,19.7,9.6C19.7,13.3,16.7,10.9,12.1,8C7.8,5.3,8.2,4.7,6.3,4.4C1.2,6.3,.2,14.5,0,9.7z" id="shape635" fill="#ffffff" fill-opacity="0.22"/><path transform="translate(16.28,1.33)" d="M2,0C6.2,0,9.8,3.5,9.8,7.6C9.8,10.5,8,7.7,4.4,5.4C.9,3.2,-2.2,0,2,0z" id="shape636" fill="url(#lg117)"/><path transform="translate(6.81,2.45)" d="M0,7.4C-0.3,3.1,4,-0.5,2.8,.8C6.1,-1.6,6.3,2.1,6.3,2.1C.6,4.9,.2,12.2,0,7.4z" id="shape637" fill="url(#lg118)"/></g><text class="st64"><tspan y="97.8" x="-24.4">shiro鉴权服务集群</tspan></text></g><g transform="translate(893.96,469.7)"><g transform="translate(-0.35,-0)"><path transform="translate(0.16,0)" d="M0,16.4L.4,15.3L36.9,0L61.5,6.3L24.1,30.8L0,16.4z" id="shape638" fill="url(#lg62)" stroke="#3a3a3a"/><path transform="translate(13.19,6.32)" d="M9.7,74.7L48.6,53.6L48.6,.7L10.2,18.1L0,48.8L9.7,74.7z" id="shape639" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15.31)" d="M.8,0L22.6,8.6C23.1,8.7,23.4,9.1,23.4,9.4L23.4,65C23.4,65.4,23.1,65.7,22.6,65.7L.8,55C.2,54.7,.1,54.5,0,54.2L0,.8C0,.3,.3,0,.8,0z" id="shape640" fill="url(#lg2)" stroke="#424242"/><path transform="translate(21.04,5.8)" d="M0,17.7C1.7,18.4,1.9,18.3,3.1,19.4C3.7,19.9,4,21.7,4,21.7L40.7,1.6C40.7,1.6,40.9,.8,40.6,.5C40.3,.3,38,0,38,0L0,17.7z" id="shape641" fill="url(#lg63)"/><path transform="translate(20.82,23.3)" d="M-0,0C1,0,4.1,1.4,4.2,3.9C4.3,4.7,4.2,56.3,4.2,56.3C4.2,56.3,2.2,57.9,1.9,57.7C1.7,57.4,0,56.9,0,56.9L-0,0z" id="shape642" fill="url(#lg4)"/><path transform="translate(0.09,15.72)" d="M14,4.7L7,57.6L0,54.6L0,.2C0,.2,-0.2,-0.2,.8,.1L14,4.7z" id="shape643" fill="url(#lg64)"/><g transform="translate(0.05,22.28)"><g transform="translate(0.08,-0)" id="shape644"><g clip-path="url(#clip49)"><path stroke-width="2" d="M12.8,0L12.8,7L0,0z" fill="url(#lg119)" stroke="url(#lg119)"/></g><g clip-path="url(#clip49)"><path stroke-width="2" d="M12.8,7L0,7L0,0z" fill="url(#lg120)" stroke="url(#lg120)"/></g><path d="M0,0L0,1.2L12.8,7L12.8,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,7.94)" id="shape645"><g clip-path="url(#clip50)"><path stroke-width="2" d="M12.8,0L12.8,7.1L0,0z" fill="url(#lg121)" stroke="url(#lg121)"/></g><g clip-path="url(#clip50)"><path stroke-width="2" d="M12.8,7.1L0,7.1L0,0z" fill="url(#lg122)" stroke="url(#lg122)"/></g><path d="M0,0L0,1.3L12.8,7.1L12.8,5.7L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,15.94)" id="shape646"><g clip-path="url(#clip51)"><path stroke-width="2" d="M12.8,0L12.8,7.3L0,0z" fill="url(#lg123)" stroke="url(#lg123)"/></g><g clip-path="url(#clip51)"><path stroke-width="2" d="M12.8,7.3L0,7.3L0,0z" fill="url(#lg124)" stroke="url(#lg124)"/></g><path d="M0,0L0,1.4L12.8,7.3L12.8,6L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.11,24.23)" id="shape647"><g clip-path="url(#clip52)"><path stroke-width="2" d="M12.7,0L12.7,7.1L0,0z" fill="url(#lg125)" stroke="url(#lg125)"/></g><g clip-path="url(#clip52)"><path stroke-width="2" d="M12.7,7.1L0,7.1L0,0z" fill="url(#lg126)" stroke="url(#lg126)"/></g><path d="M0,0L0,1.4L12.7,7.1L12.7,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.82,5.45)" id="shape648"><g clip-path="url(#clip53)"><path stroke-width="2" d="M11.5,0L11.5,6.1L0,0z" fill="url(#lg127)" stroke="url(#lg127)"/></g><g clip-path="url(#clip53)"><path stroke-width="2" d="M11.5,6.1L0,6.1L0,0z" fill="url(#lg128)" stroke="url(#lg128)"/></g><path d="M0,0L0,1.2L11.5,6.1L11.5,5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.82,13.21)" id="shape649"><g clip-path="url(#clip54)"><path stroke-width="2" d="M11.6,0L11.6,6.6L0,0z" fill="url(#lg129)" stroke="url(#lg129)"/></g><g clip-path="url(#clip54)"><path stroke-width="2" d="M11.6,6.6L0,6.6L0,0z" fill="url(#lg130)" stroke="url(#lg130)"/></g><path d="M0,0L0,1.4L11.6,6.6L11.6,5.3L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.76,21.42)" id="shape650"><g clip-path="url(#clip55)"><path stroke-width="2" d="M11.6,0L11.6,6.4L0,0z" fill="url(#lg131)" stroke="url(#lg131)"/></g><g clip-path="url(#clip55)"><path stroke-width="2" d="M11.6,6.4L0,6.4L0,0z" fill="url(#lg132)" stroke="url(#lg132)"/></g><path d="M0,0L11.6,5.2L11.6,6.4L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.76,29.5)" id="shape651"><g clip-path="url(#clip56)"><path stroke-width="2" d="M11.6,6.6L0,6.6L11.6,0z" fill="url(#lg133)" stroke="url(#lg133)"/></g><g clip-path="url(#clip56)"><path stroke-width="2" d="M0,0L0,6.6L11.6,0z" fill="url(#lg134)" stroke="url(#lg134)"/></g><path d="M0,0L11.6,5.4L11.6,6.6L0,1.4L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.44,5.73)" d="M0,0L8.7,3.8L9.7,5.6L0,1.3L0,0z" id="shape652" fill="url(#lg23)"/><path transform="translate(12.29,13.34)" d="M0,0L8.6,3.9L9.6,5.9L.1,1.6L0,0z" id="shape653" fill="url(#lg23)"/><path transform="translate(12.4,21.67)" d="M0,0L8.7,3.8L9.7,5.8L0,1.5L0,0z" id="shape654" fill="url(#lg23)"/><path transform="translate(12.4,29.87)" d="M0,0L8.7,3.8L9.7,5.6L0,1.3L0,0z" id="shape655" fill="url(#lg24)"/><path transform="translate(12.4,29.87)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape656" fill="url(#lg25)"/><path transform="translate(12.56,21.63)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape657" fill="url(#lg26)"/><path transform="translate(12.6,13.58)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape658" fill="url(#lg26)"/><path transform="translate(12.6,5.61)" d="M0,0L10,4.6L10,5.8L1.4,2L0,0z" id="shape659" fill="url(#lg26)"/></g></g><g transform="translate(30.56,41.74)"><path transform="translate(0,17.11)" d="M0,15.7C0,7,7.5,0,16.7,0C25.9,0,33.4,7,33.4,15.7C33.4,24.3,0,24.3,0,15.7z" id="shape660" fill="url(#lg116)"/><path transform="translate(0.56,17.52)" d="M0,15C0,6.7,7.2,0,16.1,0C25,0,32.3,6.7,32.3,15C32.3,23.3,0,23.3,0,15z" id="shape661" fill="#ffffff" fill-opacity="0.14"/><path transform="translate(-0.01,20.55)" d="M0,12.2C.3,4.1,5.6,.7,6.4,0C10.5,6.2,7.5,14.4,5.6,17.1C5.6,17.1,.4,16.1,0,12.2z" id="shape662" fill="#ffffff" fill-opacity="0.14"/><path transform="matrix(-1,0,0,1,33.4,20.5)" d="M0,12.2C.2,4.1,5.6,.7,6.4,0C10.4,6.2,7.5,14.4,5.6,17.1C5.6,17.1,.1,15.7,0,12.2z" id="shape663" fill="#ffffff" fill-opacity="0.14"/><path transform="translate(6.73,-0)" d="M0,9.8C0,4.4,4.5,0,10,0C15.5,0,19.9,4.4,19.9,9.8C19.9,15.2,15.5,19.5,10,19.5C4.5,19.5,0,15.2,0,9.8z" id="shape664" fill="#f7d0ae"/><path transform="translate(6.71,-0)" d="M0,9.8C0,4.4,4.5,0,10,0C15.5,0,20,4.4,20,9.8C20,13.6,16.8,11.4,12,8.4C7.6,5.5,7.8,4.8,6.2,4.8C1.8,6.6,0,15.2,0,9.8z" id="shape665" fill="#a0522d"/><path transform="translate(6.82,0.17)" d="M0,9.7C0,4.5,4.5,0,9.9,0C15.2,0,19.7,4.4,19.7,9.6C19.7,13.3,16.7,10.9,12.1,8C7.8,5.3,8.2,4.7,6.3,4.4C1.2,6.3,.2,14.5,0,9.7z" id="shape666" fill="#ffffff" fill-opacity="0.22"/><path transform="translate(16.28,1.33)" d="M2,0C6.2,0,9.8,3.5,9.8,7.6C9.8,10.5,8,7.7,4.4,5.4C.9,3.2,-2.2,0,2,0z" id="shape667" fill="url(#lg117)"/><path transform="translate(6.81,2.45)" d="M0,7.4C-0.3,3.1,4,-0.5,2.8,.8C6.1,-1.6,6.3,2.1,6.3,2.1C.6,4.9,.2,12.2,0,7.4z" id="shape668" fill="url(#lg118)"/></g><text class="st64"><tspan y="97.8" x="-24.4">shiro鉴权服务集群</tspan></text></g><path transform="translate(802.08,349.69)" d="M0,0L0,88L.8,120" id="shape669" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path transform="translate(802.08,349.69)" d="M0,0L0,88L124,88L124,120" id="shape670" fill="none" stroke="#000000" stroke-dasharray="2,5"/><g transform="translate(390.97,326.41)"><g transform="translate(-0,-0)"><path transform="translate(0.16,0)" d="M0,16.8L.4,15.7L37.3,0L62.2,6.5L24.4,31.5L0,16.8z" id="shape671" fill="url(#lg62)" stroke="#3a3a3a"/><path transform="translate(13.35,6.47)" d="M9.8,76.5L49.2,54.9L49.2,.8L10.3,18.5L0,50L9.8,76.5z" id="shape672" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15.68)" d="M.8,0L22.9,8.8C23.4,8.9,23.6,9.4,23.7,9.6L23.7,66.6C23.7,67,23.3,67.3,22.9,67.3L.8,56.3C.2,56,.1,55.8,0,55.5L0,.8C0,.3,.3,0,.8,0z" id="shape673" fill="url(#lg2)" stroke="#424242"/><path transform="translate(21.28,5.94)" d="M0,18.1C1.7,18.8,1.9,18.8,3.1,19.8C3.8,20.4,4.1,22.2,4.1,22.2L41.2,1.6C41.2,1.6,41.4,.8,41.1,.6C40.8,.3,38.5,0,38.5,0L0,18.1z" id="shape674" fill="url(#lg63)"/><path transform="translate(21.06,23.86)" d="M-0,0C1,0,4.1,1.5,4.3,4C4.3,4.9,4.3,57.6,4.3,57.6C4.3,57.6,2.2,59.4,1.9,59.1C1.7,58.8,0,58.2,0,58.2L-0,0z" id="shape675" fill="url(#lg4)"/><path transform="translate(0.09,16.1)" d="M14.1,4.8L7.1,59L0,55.9L0,.2C0,.2,-0.2,-0.2,.8,.1L14.1,4.8z" id="shape676" fill="url(#lg135)"/><g transform="translate(0.05,22.82)"><g transform="translate(0.08,-0)" id="shape677"><g clip-path="url(#clip57)"><path stroke-width="2" d="M12.9,0L12.9,7.2L0,0z" fill="url(#lg136)" stroke="url(#lg136)"/></g><g clip-path="url(#clip57)"><path stroke-width="2" d="M12.9,7.2L0,7.2L0,0z" fill="url(#lg137)" stroke="url(#lg137)"/></g><path d="M0,0L0,1.2L12.9,7.2L12.9,6L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,8.13)" id="shape678"><g clip-path="url(#clip58)"><path stroke-width="2" d="M12.9,0L12.9,7.3L0,0z" fill="url(#lg138)" stroke="url(#lg138)"/></g><g clip-path="url(#clip58)"><path stroke-width="2" d="M12.9,7.3L0,7.3L0,0z" fill="url(#lg139)" stroke="url(#lg139)"/></g><path d="M0,0L0,1.3L12.9,7.3L12.9,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,16.33)" id="shape679"><g clip-path="url(#clip59)"><path stroke-width="2" d="M13,0L13,7.4L0,0z" fill="url(#lg140)" stroke="url(#lg140)"/></g><g clip-path="url(#clip59)"><path stroke-width="2" d="M13,7.4L0,7.4L0,0z" fill="url(#lg141)" stroke="url(#lg141)"/></g><path d="M0,0L0,1.4L13,7.4L13,6.1L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.12,24.82)" id="shape680"><g clip-path="url(#clip60)"><path stroke-width="2" d="M12.8,0L12.8,7.3L0,0z" fill="url(#lg142)" stroke="url(#lg142)"/></g><g clip-path="url(#clip60)"><path stroke-width="2" d="M12.8,7.3L0,7.3L0,0z" fill="url(#lg143)" stroke="url(#lg143)"/></g><path d="M0,0L0,1.4L12.8,7.3L12.8,6L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(11.96,5.59)" id="shape681"><g clip-path="url(#clip61)"><path stroke-width="2" d="M11.6,0L11.6,6.3L0,0z" fill="url(#lg144)" stroke="url(#lg144)"/></g><g clip-path="url(#clip61)"><path stroke-width="2" d="M11.6,6.3L0,6.3L0,0z" fill="url(#lg145)" stroke="url(#lg145)"/></g><path d="M0,0L0,1.2L11.6,6.3L11.6,5.2L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.96,13.52)" id="shape682"><g clip-path="url(#clip62)"><path stroke-width="2" d="M11.7,0L11.7,6.7L0,0z" fill="url(#lg146)" stroke="url(#lg146)"/></g><g clip-path="url(#clip62)"><path stroke-width="2" d="M11.7,6.7L0,6.7L0,0z" fill="url(#lg147)" stroke="url(#lg147)"/></g><path d="M0,0L0,1.5L11.7,6.7L11.7,5.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.89,21.94)" id="shape683"><g clip-path="url(#clip63)"><path stroke-width="2" d="M11.8,0L11.8,6.6L0,0z" fill="url(#lg148)" stroke="url(#lg148)"/></g><g clip-path="url(#clip63)"><path stroke-width="2" d="M11.8,6.6L0,6.6L0,0z" fill="url(#lg149)" stroke="url(#lg149)"/></g><path d="M0,0L11.8,5.3L11.8,6.6L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.89,30.22)" id="shape684"><g clip-path="url(#clip64)"><path stroke-width="2" d="M11.8,6.8L0,6.8L11.8,0z" fill="url(#lg150)" stroke="url(#lg150)"/></g><g clip-path="url(#clip64)"><path stroke-width="2" d="M0,0L0,6.8L11.8,0z" fill="url(#lg151)" stroke="url(#lg151)"/></g><path d="M0,0L11.8,5.5L11.8,6.8L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.58,5.87)" d="M0,0L8.8,3.9L9.8,5.7L0,1.3L0,0z" id="shape685" fill="url(#lg23)"/><path transform="translate(12.43,13.67)" d="M0,0L8.7,4L9.7,6.1L.1,1.6L0,0z" id="shape686" fill="url(#lg23)"/><path transform="translate(12.54,22.19)" d="M0,0L8.8,3.9L9.8,5.9L0,1.5L0,0z" id="shape687" fill="url(#lg23)"/><path transform="translate(12.54,30.6)" d="M0,0L8.8,3.9L9.8,5.7L0,1.3L0,0z" id="shape688" fill="url(#lg24)"/><path transform="translate(12.54,30.6)" d="M0,0L10.1,4.7L10.1,6L1.4,2.1L0,0z" id="shape689" fill="url(#lg25)"/><path transform="translate(12.71,22.16)" d="M0,0L10.1,4.7L10.1,6L1.4,2.1L0,0z" id="shape690" fill="url(#lg26)"/><path transform="translate(12.74,13.91)" d="M0,0L10.1,4.7L10.1,6L1.4,2.1L0,0z" id="shape691" fill="url(#lg26)"/><path transform="translate(12.74,5.75)" d="M0,0L10.1,4.7L10.1,6L1.4,2.1L0,0z" id="shape692" fill="url(#lg26)"/></g></g><g transform="translate(38.14,49.79)"><path transform="translate(0,-0)" d="M0,3.1L6,0L29.9,11L23.6,14.8L0,3.1z" id="shape693" fill="#c96727" stroke="#ffddab"/><path transform="translate(23.57,11.01)" d="M0,3.8L0,27.2L6.3,23.8L6.3,0L0,3.8z" id="shape694" fill="#f57f33" stroke="#ffddab"/><path transform="translate(0,3.13)" d="M23.6,11.6L0,0L0,22.4L23.6,35.1L23.6,11.6z" id="shape695" fill="url(#lg152)" stroke="#ffddab"/><path transform="translate(0,3.13)" d="M0,0L0,3.9L23.5,16.2L23.6,11.6L0,0z" id="shape696" fill="none" stroke="#ffddab"/><path transform="translate(0,3.13)" d="M0,0L0,3.9L6.9,7.5L6.9,3.4L0,0z" id="shape697" fill="url(#lg153)" stroke="#ffddab"/><path transform="translate(18.97,12.56)" d="M0,0L0,4.4L4.5,6.8L4.6,2.1L0,0z" id="shape698" fill="url(#lg154)" stroke="#ffddab"/><path transform="translate(0,10.98)" d="M0,0L0,4.9L23.5,17.5L23.6,12.9L0,0z" id="shape699" fill="none" stroke="#ffddab"/><path transform="translate(0,15.87)" d="M0,0L0,4.6L23.5,16.9L23.5,12.6L0,0z" id="shape700" fill="none" stroke="#ffddab"/><path transform="translate(0,7.06)" d="M0,0L0,3.9L23.6,16.9L23.5,12.3L0,0z" id="shape701" fill="none" stroke="#ffddab"/><path transform="translate(3.45,8.91)" d="M0,0L0,3.9L12.5,10.8L12.5,6.5L0,0z" id="shape702" fill="url(#lg155)" stroke="#ffddab"/><path transform="translate(0,10.99)" d="M4.5,2.5L4.5,7.3L0,4.9L0,0L4.5,2.5z" id="shape703" fill="url(#lg156)" stroke="#ffddab"/><path transform="translate(11.09,17.03)" d="M0,0L0,4.8L12.4,11.4L12.5,6.9L0,0z" id="shape704" fill="url(#lg157)" stroke="#ffddab"/><path transform="translate(6.96,19.58)" d="M0,0L0,4.5L9.4,9.5L9.4,5.1L0,0z" id="shape705" fill="url(#lg158)" stroke="#ffddab"/><path transform="translate(0,20.45)" d="M4,2.1L4,7.3L0,5.1L0,0L4,2.1z" id="shape706" fill="url(#lg159)" stroke="#ffddab"/><path transform="translate(15.98,28.97)" d="M0,0L0,5.1L7.6,9.3L7.5,3.8L0,0z" id="shape707" fill="url(#lg160)" stroke="#ffddab"/></g><text class="st64"><tspan y="104.5" x="3.5">Nginx集群</tspan></text></g><g transform="translate(645.96,83.84)"><g transform="translate(-0,0)"><path transform="translate(0.16,0)" d="M0,16.8L.4,15.6L37.6,0L62.7,6.5L24.6,31.4L0,16.8z" id="shape708" fill="url(#lg62)" stroke="#3a3a3a"/><path transform="translate(13.46,6.45)" d="M9.9,76.2L49.6,54.7L49.6,.8L10.4,18.5L0,49.9L9.9,76.2z" id="shape709" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15.63)" d="M.8,0L23.1,8.8C23.6,8.9,23.8,9.3,23.9,9.6L23.9,66.4C23.9,66.8,23.5,67.1,23.1,67.1L.8,56.2C.2,55.8,.1,55.7,0,55.4L0,.8C0,.3,.3,0,.8,0z" id="shape710" fill="url(#lg2)" stroke="#424242"/><path transform="translate(21.46,5.92)" d="M0,18C1.7,18.7,1.9,18.7,3.1,19.8C3.8,20.4,4.1,22.1,4.1,22.1L41.5,1.6C41.5,1.6,41.7,.8,41.4,.5C41.1,.3,38.8,0,38.8,0L0,18z" id="shape711" fill="url(#lg63)"/><path transform="translate(21.24,23.79)" d="M-0,0C1,0,4.2,1.5,4.3,4C4.4,4.8,4.3,57.5,4.3,57.5C4.3,57.5,2.2,59.2,2,58.9C1.7,58.7,0,58.1,0,58.1L-0,0z" id="shape712" fill="url(#lg4)"/><path transform="translate(0.09,16.05)" d="M14.2,4.8L7.1,58.8L0,55.8L0,.2C0,.2,-0.2,-0.2,.8,.1L14.2,4.8z" id="shape713" fill="url(#lg64)"/><g transform="translate(0.05,22.75)"><g transform="translate(0.08,-0)" id="shape714"><g clip-path="url(#clip65)"><path stroke-width="2" d="M13,0L13,7.2L0,0z" fill="url(#lg161)" stroke="url(#lg161)"/></g><g clip-path="url(#clip65)"><path stroke-width="2" d="M13,7.2L0,7.2L0,0z" fill="url(#lg162)" stroke="url(#lg162)"/></g><path d="M0,0L0,1.2L13,7.2L13,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,8.11)" id="shape715"><g clip-path="url(#clip66)"><path stroke-width="2" d="M13,0L13,7.3L0,0z" fill="url(#lg163)" stroke="url(#lg163)"/></g><g clip-path="url(#clip66)"><path stroke-width="2" d="M13,7.3L0,7.3L0,0z" fill="url(#lg164)" stroke="url(#lg164)"/></g><path d="M0,0L0,1.3L13,7.3L13,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,16.28)" id="shape716"><g clip-path="url(#clip67)"><path stroke-width="2" d="M13.1,0L13.1,7.4L0,0z" fill="url(#lg165)" stroke="url(#lg165)"/></g><g clip-path="url(#clip67)"><path stroke-width="2" d="M13.1,7.4L0,7.4L0,0z" fill="url(#lg166)" stroke="url(#lg166)"/></g><path d="M0,0L0,1.4L13.1,7.4L13.1,6.1L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.12,24.74)" id="shape717"><g clip-path="url(#clip68)"><path stroke-width="2" d="M12.9,0L12.9,7.3L0,0z" fill="url(#lg167)" stroke="url(#lg167)"/></g><g clip-path="url(#clip68)"><path stroke-width="2" d="M12.9,7.3L0,7.3L0,0z" fill="url(#lg168)" stroke="url(#lg168)"/></g><path d="M0,0L0,1.4L12.9,7.3L12.9,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(12.06,5.57)" id="shape718"><g clip-path="url(#clip69)"><path stroke-width="2" d="M11.7,0L11.7,6.3L0,0z" fill="url(#lg169)" stroke="url(#lg169)"/></g><g clip-path="url(#clip69)"><path stroke-width="2" d="M11.7,6.3L0,6.3L0,0z" fill="url(#lg170)" stroke="url(#lg170)"/></g><path d="M0,0L0,1.2L11.7,6.3L11.7,5.1L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.06,13.48)" id="shape719"><g clip-path="url(#clip70)"><path stroke-width="2" d="M11.8,0L11.8,6.7L0,0z" fill="url(#lg171)" stroke="url(#lg171)"/></g><g clip-path="url(#clip70)"><path stroke-width="2" d="M11.8,6.7L0,6.7L0,0z" fill="url(#lg172)" stroke="url(#lg172)"/></g><path d="M0,0L0,1.5L11.8,6.7L11.8,5.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.99,21.88)" id="shape720"><g clip-path="url(#clip71)"><path stroke-width="2" d="M11.9,0L11.9,6.6L0,0z" fill="url(#lg173)" stroke="url(#lg173)"/></g><g clip-path="url(#clip71)"><path stroke-width="2" d="M11.9,6.6L0,6.6L0,0z" fill="url(#lg174)" stroke="url(#lg174)"/></g><path d="M0,0L11.9,5.3L11.9,6.6L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.99,30.13)" id="shape721"><g clip-path="url(#clip72)"><path stroke-width="2" d="M11.9,6.8L0,6.8L11.9,0z" fill="url(#lg175)" stroke="url(#lg175)"/></g><g clip-path="url(#clip72)"><path stroke-width="2" d="M0,0L0,6.8L11.9,0z" fill="url(#lg176)" stroke="url(#lg176)"/></g><path d="M0,0L11.9,5.5L11.9,6.8L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.69,5.85)" d="M0,0L8.8,3.9L9.8,5.7L0,1.3L0,0z" id="shape722" fill="url(#lg23)"/><path transform="translate(12.54,13.62)" d="M0,0L8.8,4L9.8,6L.1,1.6L0,0z" id="shape723" fill="url(#lg23)"/><path transform="translate(12.65,22.13)" d="M0,0L8.8,3.9L9.8,5.9L0,1.5L0,0z" id="shape724" fill="url(#lg23)"/><path transform="translate(12.65,30.51)" d="M0,0L8.8,3.9L9.8,5.7L0,1.3L0,0z" id="shape725" fill="url(#lg24)"/><path transform="translate(12.65,30.51)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape726" fill="url(#lg177)"/><path transform="translate(12.82,22.09)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape727" fill="url(#lg178)"/><path transform="translate(12.85,13.87)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape728" fill="url(#lg178)"/><path transform="translate(12.85,5.73)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape729" fill="url(#lg178)"/></g></g><g transform="translate(35.31,45.91)"><g transform="translate(6.96,28.1)"><path transform="translate(0.05,0.67)" d="M-0.1,3.1C.7,.3,5.5,-0.7,10.5,.6C15.5,1.9,18.9,5.3,18.1,8.1C17.4,10.9,12.8,12.1,7.8,10.8C2.8,9.5,-0.3,6.1,-0.1,3.1z" id="shape730" fill="#000000"/><path transform="translate(0.01,-0.01)" d="M.1,3.3C.8,.4,5.5,-0.8,10.5,.5C15.4,1.8,18.9,5.2,18.1,8C17.4,10.8,12.7,12,7.8,10.7C2.8,9.4,-0.7,6.1,.1,3.3z" id="shape731" fill="#000000"/><path transform="translate(0.01,-0.01)" d="M.1,3.3C.8,.4,5.5,-0.8,10.5,.5C15.4,1.8,18.9,5.2,18.1,8C17.4,10.8,12.7,12,7.8,10.7C2.8,9.4,-0.7,6.1,.1,3.3z" id="shape732" fill="url(#lg179)"/><path transform="translate(0.01,-0.01)" d="M.1,3.3C.8,.4,5.5,-0.8,10.5,.5C15.4,1.8,18.9,5.2,18.1,8C17.4,10.8,12.7,12,7.8,10.7C2.8,9.4,-0.7,6.1,.1,3.3z" id="shape733" fill="url(#lg180)"/><path transform="translate(3.04,7.71)" d="M-0.2,1C2.6,3.1,6.3,4,10.3,3.6C14.7,3.1,15.3,.2,15.3,.2C15.3,.2,15.4,3.4,9.5,3.9C6,4.2,1.8,2.9,-0.2,1z" id="shape734" fill="#ffffff" fill-opacity="0.37"/><path transform="translate(7.92,2.52)" d="M-0.1,.3C1.6,1.4,-1.1,4.5,3.1,2.6C7.3,.8,2.4,.6,2.4,.6L-0.1,.3z" id="shape735" fill="url(#lg181)"/></g><path transform="translate(0.03,0)" d="M0,.9L.9,22.5C.9,22.5,.8,23.5,1.7,24C2.7,24.6,34.7,40.5,34.7,40.5C34.7,40.5,36.3,40.5,36.4,39.3C36.4,39,36.4,14.4,36.4,14.4C36.4,14.4,36.2,13.5,35.6,13.1C34.9,12.5,4.8,1.3,1.9,.1C1.1,-0.2,.2,.3,0,.9z" id="shape736" fill="url(#lg182)"/><path transform="translate(0,0.53)" d="M.1,.4L0,23.1C0,23.1,-0.1,24.2,.8,24.7C1.8,25.3,34.8,40,34.8,40C34.8,40,35.6,40,35.6,39.2C35.6,38.8,35.6,14.4,35.6,14.4C35.6,14.4,35.6,13.7,35,13.3C34.3,12.7,1.1,.1,1.1,.1C1.1,.1,.2,-0.2,.1,.4z" id="shape737" fill="#000000"/><path transform="translate(1.17,2.1)" d="M.1,.3L0,21C0,21,-0.1,21.9,.7,22.3C1.5,22.8,32.4,36.5,32.4,36.5C32.4,36.5,33.1,36.5,33.1,35.9C33.1,35.6,33.2,13.4,33.2,13.4C33.2,13.4,33.2,12.8,32.7,12.5C32.1,12,.9,0,.9,0C.9,0,.2,-0.2,.1,.3z" id="shape738" fill="#03548d"/><path transform="translate(14.95,10.43)" d="M0,20.6L19.8,30.1C19.8,30.1,20.6,30.1,20.6,29.3C20.6,28.9,20.6,4.5,20.6,4.5C20.6,4.5,20.6,3.8,20.1,3.4C19.8,3.2,16.3,1.7,11.9,0C11.4,-0.2,0,20.6,0,20.6z" id="shape739" fill="url(#lg183)"/><path transform="translate(2.3,3.8)" d="M10.3,2.4C10.3,2.4,11.2,6.9,7.4,12.1C3.6,17.2,0,18.4,0,18.4L4.1,0L10.3,2.4z" id="shape740" fill="url(#lg184)"/><path transform="translate(4.09,3.89)" d="M4.3,.8C4.3,.8,7.4,4.5,9.9,10.5C12.3,16.5,9.6,23.6,9.6,23.6L0,20.4C0,20.4,6,19.2,5.7,10.7C5.6,6.2,2.3,0,2.5,0L4.3,.8z" id="shape741" fill="url(#lg185)"/><path transform="translate(11.52,10.9)" d="M13.2,0C13.2,0,9.5,4.3,5.4,9.6C2.9,12.7,-0.5,16,0,16.4C.6,16.7,2.6,14,14.9,8.5C20.5,5.9,22,23.2,22,17.1C21.9,3.5,15.2,.8,15.2,.8L13.2,0z" id="shape742" fill="url(#lg186)"/><path transform="translate(7.19,13.52)" d="M.2,12.7C6.1,7.6,22,20.6,25.4,10C27.5,3.8,25.5,0,25.5,0C25.5,0,13,2.5,6.6,6.8C.2,11.1,-0.6,12.7,.2,12.7z" id="shape743" fill="url(#lg187)"/></g><text class="st64"><tspan y="102.9" x="4.4">shiro-mgt</tspan></text></g><g transform="translate(766.18,83.84)"><g transform="translate(-0,0)"><path transform="translate(0.16,0)" d="M0,16.8L.4,15.6L37.6,0L62.7,6.5L24.6,31.4L0,16.8z" id="shape744" fill="url(#lg62)" stroke="#3a3a3a"/><path transform="translate(13.46,6.45)" d="M9.9,76.2L49.6,54.7L49.6,.8L10.4,18.5L0,49.9L9.9,76.2z" id="shape745" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,15.63)" d="M.8,0L23.1,8.8C23.6,8.9,23.8,9.3,23.9,9.6L23.9,66.4C23.9,66.8,23.5,67.1,23.1,67.1L.8,56.2C.2,55.8,.1,55.7,0,55.4L0,.8C0,.3,.3,0,.8,0z" id="shape746" fill="url(#lg2)" stroke="#424242"/><path transform="translate(21.46,5.92)" d="M0,18C1.7,18.7,1.9,18.7,3.1,19.8C3.8,20.4,4.1,22.1,4.1,22.1L41.5,1.6C41.5,1.6,41.7,.8,41.4,.5C41.1,.3,38.8,0,38.8,0L0,18z" id="shape747" fill="url(#lg63)"/><path transform="translate(21.24,23.79)" d="M-0,0C1,0,4.2,1.5,4.3,4C4.4,4.8,4.3,57.5,4.3,57.5C4.3,57.5,2.2,59.2,2,58.9C1.7,58.7,0,58.1,0,58.1L-0,0z" id="shape748" fill="url(#lg4)"/><path transform="translate(0.09,16.05)" d="M14.2,4.8L7.1,58.8L0,55.8L0,.2C0,.2,-0.2,-0.2,.8,.1L14.2,4.8z" id="shape749" fill="url(#lg64)"/><g transform="translate(0.05,22.75)"><g transform="translate(0.08,-0)" id="shape750"><g clip-path="url(#clip73)"><path stroke-width="2" d="M13,0L13,7.2L0,0z" fill="url(#lg188)" stroke="url(#lg188)"/></g><g clip-path="url(#clip73)"><path stroke-width="2" d="M13,7.2L0,7.2L0,0z" fill="url(#lg189)" stroke="url(#lg189)"/></g><path d="M0,0L0,1.2L13,7.2L13,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.08,8.11)" id="shape751"><g clip-path="url(#clip74)"><path stroke-width="2" d="M13,0L13,7.3L0,0z" fill="url(#lg190)" stroke="url(#lg190)"/></g><g clip-path="url(#clip74)"><path stroke-width="2" d="M13,7.3L0,7.3L0,0z" fill="url(#lg191)" stroke="url(#lg191)"/></g><path d="M0,0L0,1.3L13,7.3L13,5.8L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,16.28)" id="shape752"><g clip-path="url(#clip75)"><path stroke-width="2" d="M13.1,0L13.1,7.4L0,0z" fill="url(#lg192)" stroke="url(#lg192)"/></g><g clip-path="url(#clip75)"><path stroke-width="2" d="M13.1,7.4L0,7.4L0,0z" fill="url(#lg193)" stroke="url(#lg193)"/></g><path d="M0,0L0,1.4L13.1,7.4L13.1,6.1L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.12,24.74)" id="shape753"><g clip-path="url(#clip76)"><path stroke-width="2" d="M12.9,0L12.9,7.3L0,0z" fill="url(#lg194)" stroke="url(#lg194)"/></g><g clip-path="url(#clip76)"><path stroke-width="2" d="M12.9,7.3L0,7.3L0,0z" fill="url(#lg195)" stroke="url(#lg195)"/></g><path d="M0,0L0,1.4L12.9,7.3L12.9,5.9L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(12.06,5.57)" id="shape754"><g clip-path="url(#clip77)"><path stroke-width="2" d="M11.7,0L11.7,6.3L0,0z" fill="url(#lg196)" stroke="url(#lg196)"/></g><g clip-path="url(#clip77)"><path stroke-width="2" d="M11.7,6.3L0,6.3L0,0z" fill="url(#lg197)" stroke="url(#lg197)"/></g><path d="M0,0L0,1.2L11.7,6.3L11.7,5.1L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.06,13.48)" id="shape755"><g clip-path="url(#clip78)"><path stroke-width="2" d="M11.8,0L11.8,6.7L0,0z" fill="url(#lg198)" stroke="url(#lg198)"/></g><g clip-path="url(#clip78)"><path stroke-width="2" d="M11.8,6.7L0,6.7L0,0z" fill="url(#lg199)" stroke="url(#lg199)"/></g><path d="M0,0L0,1.5L11.8,6.7L11.8,5.4L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.99,21.88)" id="shape756"><g clip-path="url(#clip79)"><path stroke-width="2" d="M11.9,0L11.9,6.6L0,0z" fill="url(#lg200)" stroke="url(#lg200)"/></g><g clip-path="url(#clip79)"><path stroke-width="2" d="M11.9,6.6L0,6.6L0,0z" fill="url(#lg201)" stroke="url(#lg201)"/></g><path d="M0,0L11.9,5.3L11.9,6.6L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(11.99,30.13)" id="shape757"><g clip-path="url(#clip80)"><path stroke-width="2" d="M11.9,6.8L0,6.8L11.9,0z" fill="url(#lg202)" stroke="url(#lg202)"/></g><g clip-path="url(#clip80)"><path stroke-width="2" d="M0,0L0,6.8L11.9,0z" fill="url(#lg203)" stroke="url(#lg203)"/></g><path d="M0,0L11.9,5.5L11.9,6.8L0,1.5L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(12.69,5.85)" d="M0,0L8.8,3.9L9.8,5.7L0,1.3L0,0z" id="shape758" fill="url(#lg23)"/><path transform="translate(12.54,13.62)" d="M0,0L8.8,4L9.8,6L.1,1.6L0,0z" id="shape759" fill="url(#lg23)"/><path transform="translate(12.65,22.13)" d="M0,0L8.8,3.9L9.8,5.9L0,1.5L0,0z" id="shape760" fill="url(#lg23)"/><path transform="translate(12.65,30.51)" d="M0,0L8.8,3.9L9.8,5.7L0,1.3L0,0z" id="shape761" fill="url(#lg24)"/><path transform="translate(12.65,30.51)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape762" fill="url(#lg177)"/><path transform="translate(12.82,22.09)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape763" fill="url(#lg178)"/><path transform="translate(12.85,13.87)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape764" fill="url(#lg178)"/><path transform="translate(12.85,5.73)" d="M0,0L10.2,4.7L10.2,5.9L1.4,2.1L0,0z" id="shape765" fill="url(#lg178)"/></g></g><g transform="translate(35.31,45.91)"><g transform="translate(6.96,28.1)"><path transform="translate(0.05,0.67)" d="M-0.1,3.1C.7,.3,5.5,-0.7,10.5,.6C15.5,1.9,18.9,5.3,18.1,8.1C17.4,10.9,12.8,12.1,7.8,10.8C2.8,9.5,-0.3,6.1,-0.1,3.1z" id="shape766" fill="#000000"/><path transform="translate(0.01,-0.01)" d="M.1,3.3C.8,.4,5.5,-0.8,10.5,.5C15.4,1.8,18.9,5.2,18.1,8C17.4,10.8,12.7,12,7.8,10.7C2.8,9.4,-0.7,6.1,.1,3.3z" id="shape767" fill="#000000"/><path transform="translate(0.01,-0.01)" d="M.1,3.3C.8,.4,5.5,-0.8,10.5,.5C15.4,1.8,18.9,5.2,18.1,8C17.4,10.8,12.7,12,7.8,10.7C2.8,9.4,-0.7,6.1,.1,3.3z" id="shape768" fill="url(#lg179)"/><path transform="translate(0.01,-0.01)" d="M.1,3.3C.8,.4,5.5,-0.8,10.5,.5C15.4,1.8,18.9,5.2,18.1,8C17.4,10.8,12.7,12,7.8,10.7C2.8,9.4,-0.7,6.1,.1,3.3z" id="shape769" fill="url(#lg180)"/><path transform="translate(3.04,7.71)" d="M-0.2,1C2.6,3.1,6.3,4,10.3,3.6C14.7,3.1,15.3,.2,15.3,.2C15.3,.2,15.4,3.4,9.5,3.9C6,4.2,1.8,2.9,-0.2,1z" id="shape770" fill="#ffffff" fill-opacity="0.37"/><path transform="translate(7.92,2.52)" d="M-0.1,.3C1.6,1.4,-1.1,4.5,3.1,2.6C7.3,.8,2.4,.6,2.4,.6L-0.1,.3z" id="shape771" fill="url(#lg181)"/></g><path transform="translate(0.03,0)" d="M0,.9L.9,22.5C.9,22.5,.8,23.5,1.7,24C2.7,24.6,34.7,40.5,34.7,40.5C34.7,40.5,36.3,40.5,36.4,39.3C36.4,39,36.4,14.4,36.4,14.4C36.4,14.4,36.2,13.5,35.6,13.1C34.9,12.5,4.8,1.3,1.9,.1C1.1,-0.2,.2,.3,0,.9z" id="shape772" fill="url(#lg182)"/><path transform="translate(0,0.53)" d="M.1,.4L0,23.1C0,23.1,-0.1,24.2,.8,24.7C1.8,25.3,34.8,40,34.8,40C34.8,40,35.6,40,35.6,39.2C35.6,38.8,35.6,14.4,35.6,14.4C35.6,14.4,35.6,13.7,35,13.3C34.3,12.7,1.1,.1,1.1,.1C1.1,.1,.2,-0.2,.1,.4z" id="shape773" fill="#000000"/><path transform="translate(1.17,2.1)" d="M.1,.3L0,21C0,21,-0.1,21.9,.7,22.3C1.5,22.8,32.4,36.5,32.4,36.5C32.4,36.5,33.1,36.5,33.1,35.9C33.1,35.6,33.2,13.4,33.2,13.4C33.2,13.4,33.2,12.8,32.7,12.5C32.1,12,.9,0,.9,0C.9,0,.2,-0.2,.1,.3z" id="shape774" fill="#03548d"/><path transform="translate(14.95,10.43)" d="M0,20.6L19.8,30.1C19.8,30.1,20.6,30.1,20.6,29.3C20.6,28.9,20.6,4.5,20.6,4.5C20.6,4.5,20.6,3.8,20.1,3.4C19.8,3.2,16.3,1.7,11.9,0C11.4,-0.2,0,20.6,0,20.6z" id="shape775" fill="url(#lg183)"/><path transform="translate(2.3,3.8)" d="M10.3,2.4C10.3,2.4,11.2,6.9,7.4,12.1C3.6,17.2,0,18.4,0,18.4L4.1,0L10.3,2.4z" id="shape776" fill="url(#lg184)"/><path transform="translate(4.09,3.89)" d="M4.3,.8C4.3,.8,7.4,4.5,9.9,10.5C12.3,16.5,9.6,23.6,9.6,23.6L0,20.4C0,20.4,6,19.2,5.7,10.7C5.6,6.2,2.3,0,2.5,0L4.3,.8z" id="shape777" fill="url(#lg185)"/><path transform="translate(11.52,10.9)" d="M13.2,0C13.2,0,9.5,4.3,5.4,9.6C2.9,12.7,-0.5,16,0,16.4C.6,16.7,2.6,14,14.9,8.5C20.5,5.9,22,23.2,22,17.1C21.9,3.5,15.2,.8,15.2,.8L13.2,0z" id="shape778" fill="url(#lg186)"/><path transform="translate(7.19,13.52)" d="M.2,12.7C6.1,7.6,22,20.6,25.4,10C27.5,3.8,25.5,0,25.5,0C25.5,0,13,2.5,6.6,6.8C.2,11.1,-0.6,12.7,.2,12.7z" id="shape779" fill="url(#lg187)"/></g><text class="st64"><tspan y="102.9" x="4.4">shiro-mgt</tspan></text></g><path transform="translate(802.08,270.31)" d="M0,0L0,-100" id="shape780" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path transform="translate(802.08,270.31)" d="M0,0L0,-68.1L-120.2,-68.1L-120.2,-100" id="shape781" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path transform="translate(518.34,349.82)" d="M0,0L0,-222.8L127.6,-222.8" id="shape782" fill="none" stroke="#000000" stroke-dasharray="2,5"/><path transform="translate(552.36,370.43)" d="M0,0L22.3,0L22.3,-60.4L38.3,-60.4" id="shape783" fill="none" stroke="#000000" stroke-dasharray="2,5"/><g transform="translate(130.06,121.14)"><g><path d="M.8,0L87.6,0C88.1,0,88.4,.3,88.4,.8L88.4,56.5C88.4,57,88.1,57.3,87.6,57.3L.8,57.3C.3,57.3,0,57,0,56.5L0,.8C0,.3,.3,0,.8,0z" id="shape784" fill="#3e3938" stroke="#3e3938"/><path transform="translate(23.04,57.29)" d="M30,-0L30,8.2L41.4,8.2C41.4,8.2,42.3,8.3,42.3,9.2C42.3,9.2,42.3,12.7,42.3,12.7C42.3,12.7,42.2,13.7,41.3,13.7C41.3,13.7,1,13.7,1,13.7C0,13.7,0,12.7,0,12.7C0,12.7,0,10.1,0,9.2C0,8.3,1,8.2,1,8.2L12.4,8.2L12.4,-0L30,-0z" id="shape785" fill="#3e3938" stroke="#3e3938"/></g><path transform="translate(2.05,3.23)" d="M.8,0L83.5,0C83.9,0,84.3,.3,84.3,.8L84.3,50.1C84.3,50.5,83.9,50.9,83.5,50.9L.8,50.9C.3,50.9,0,50.5,0,50.1L0,.8C0,.3,.3,0,.8,0z" id="shape786" fill="#ffffff" stroke="#ffffff"/></g><g transform="translate(140,332.43)"><g><path transform="translate(0.61,0.68)" d="M0,4.3C0,4.3,.3,.4,4.6,0L30.8,0C30.8,0,34.9,.1,35.4,4.2L35.4,70.8C35.4,70.8,35.6,74.6,31.3,75.3L4.4,75.3C4.4,75.3,.7,75.3,0,71.2L0,4.3zM2.1,9.9L2.1,64.8L33.3,64.8L33.3,9.9L2.1,9.9z" id="shape787" fill="#3e3938" stroke="#3e3938"/><path transform="translate(24.56,0)" d="M.3,-0L5.4,-0C5.5,-0,5.7,.1,5.7,.3L0,.7C0,.1,.1,-0,.3,-0z" id="shape788" fill="#3e3938" stroke="#3e3938"/><path transform="translate(0,10.91)" d="M.3,0L.6,3.2C.1,3.2,0,3.1,0,2.9L0,.3C0,.1,.1,0,.3,0z" id="shape789" fill="#3e3938" stroke="#3e3938"/><path transform="translate(0.02,24.27)" d="M.3,0L.6,2.5C.1,2.5,0,2.4,0,2.2L0,.3C0,.1,.1,0,.3,0z" id="shape790" fill="#3e3938" stroke="#3e3938"/><path transform="translate(0.01,18.1)" d="M.3,0L.6,2.5C.1,2.5,0,2.4,0,2.2L0,.3C0,.1,.1,0,.3,0z" id="shape791" fill="#3e3938" stroke="#3e3938"/></g><path transform="translate(2.5,10.29)" d="M0,0L31.6,0L31.6,55.7L0,55.7L0,0z" id="shape792" fill="#30c9f7" stroke="#30c9f7"/><g transform="translate(5.3,25.81)"><path stroke-width="0.25" transform="translate(10.84,3.34)" d="M0,10.2L0,0L1.7,0L1.7,10.2L0,10.2z" id="shape793" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(22.79,3.13)" d="M0,10.6L1.5,0L3.2,.2L1.7,10.9L0,10.6z" id="shape794" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(7.09,20.51)" d="M0,2.1C0,.9,.9,0,2.1,0C3.2,0,4.1,.9,4.1,2.1C4.1,3.2,3.2,4.1,2.1,4.1C.9,4.1,0,3.2,0,2.1z" id="shape795" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(19.17,20.51)" d="M0,2.1C0,.9,.9,0,2.1,0C3.2,0,4.1,.9,4.1,2.1C4.1,3.2,3.2,4.1,2.1,4.1C.9,4.1,0,3.2,0,2.1z" id="shape796" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" d="M0,0L4.2,0L4.2,1.7L0,1.7L0,0z" id="shape797" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(16.34,3.34)" d="M0,10.2L0,0L1.7,0L1.7,10.2L0,10.2z" id="shape798" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(5.14,7.59)" d="M0,0L18.6,0L18.6,1.7L0,1.7L0,0z" id="shape799" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(4.4,2.9)" d="M0,0L21.6,0L21.4,1.7L0,1.7L0,0z" id="shape800" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(5.81,12.3)" d="M0,0L18.6,0L18.6,1.7L0,1.7L0,0z" id="shape801" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(2.46,0)" d="M1.7,0L4.9,18.1L3.2,18.3L0,.3L1.7,0z" id="shape802" fill="#ffffff" stroke="#ffffff"/><path stroke-width="0.25" transform="translate(5.64,16.64)" d="M0,0L18.6,0L18.6,1.7L0,1.7L0,0z" id="shape803" fill="#ffffff" stroke="#ffffff"/></g><g transform="translate(14.89,3.36)"><path transform="translate(0,2.63)" d="M.7,0L6,0C6.3,0,6.7,.3,6.7,.7C6.7,1.2,6.3,1.5,6,1.5L.7,1.5C.3,1.5,0,1.2,0,.8C0,.3,.3,0,.7,0z" id="shape804" fill="#ffffff"/><path transform="translate(2.68,0)" d="M0,.7C0,.3,.3,0,.7,0C1.1,0,1.4,.3,1.4,.7C1.4,1.1,1.1,1.4,.7,1.4C.3,1.4,0,1.1,0,.7z" id="shape805" fill="#ffffff"/><path transform="translate(0.05,63.81)" d="M0,3.3C0,1.5,1.5,0,3.3,0C5.1,0,6.6,1.5,6.6,3.3C6.6,5.1,5.1,6.6,3.3,6.6C1.5,6.6,0,5.1,0,3.3z" id="shape806" fill="#ffffff" stroke="#ffffff"/></g><path stroke-width="0.5" transform="translate(17.21,69.43)" d="M.3,0L1.8,0C1.9,0,2,.1,2,.3L2,1.8C2,1.9,1.9,2,1.8,2L.3,2C.1,2,0,1.9,0,1.8L0,.3C0,.1,.1,0,.3,0z" id="shape807" fill="#3e3938" stroke="#3e3938"/></g><path transform="translate(518.34,391.05)" d="M0,0L0,119.3L252.5,119.3" id="shape808" fill="none" stroke="#000000" stroke-dasharray="2,5"/><g transform="translate(519.48,648.9)"><g><path transform="translate(0.17,0)" d="M0,18L.5,16.8L40.3,0L67.2,6.9L26.3,33.8L0,18z" id="shape809" fill="url(#lg204)" stroke="#3a3a3a"/><path transform="translate(14.42,6.93)" d="M10.6,81.9L53.1,58.8L53.1,.8L11.2,19.8L0,53.6L10.6,81.9z" id="shape810" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,16.79)" d="M.8,0L24.7,9.4C25.3,9.6,25.5,10,25.6,10.3L25.6,71.3C25.6,71.8,25.2,72,24.7,72L.9,60.3C.2,60,.1,59.8,0,59.5L0,.8C0,.3,.4,0,.8,0z" id="shape811" fill="url(#lg2)" stroke="#424242"/><path transform="translate(22.98,6.36)" d="M0,19.4C1.8,20.1,2,20.1,3.3,21.2C4.1,21.9,4.4,23.8,4.4,23.8L44.5,1.7C44.5,1.7,44.7,.9,44.3,.6C44.1,.3,41.6,0,41.6,0L0,19.4z" id="shape812" fill="url(#lg205)"/><path transform="translate(22.75,25.56)" d="M-0,0C1.1,0,4.5,1.6,4.6,4.3C4.7,5.2,4.6,61.7,4.6,61.7C4.6,61.7,2.4,63.6,2.1,63.3C1.8,63,0,62.4,0,62.4L-0,0z" id="shape813" fill="url(#lg4)"/><path transform="translate(0.1,17.25)" d="M15.2,5.2L7.6,63.1L0,59.9L0,.2C0,.2,-0.2,-0.2,.9,.1L15.2,5.2z" id="shape814" fill="url(#lg206)"/><g transform="translate(0.06,24.44)"><g transform="translate(0.09,-0)" id="shape815"><g clip-path="url(#clip81)"><path stroke-width="2" d="M13.9,0L13.9,7.7L0,0z" fill="url(#lg207)" stroke="url(#lg207)"/></g><g clip-path="url(#clip81)"><path stroke-width="2" d="M13.9,7.7L0,7.7L0,0z" fill="url(#lg208)" stroke="url(#lg208)"/></g><path d="M0,0L0,1.3L13.9,7.7L13.9,6.4L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.09,8.71)" id="shape816"><g clip-path="url(#clip82)"><path stroke-width="2" d="M13.9,0L13.9,7.8L0,0z" fill="url(#lg209)" stroke="url(#lg209)"/></g><g clip-path="url(#clip82)"><path stroke-width="2" d="M13.9,7.8L0,7.8L0,0z" fill="url(#lg210)" stroke="url(#lg210)"/></g><path d="M0,0L0,1.4L13.9,7.8L13.9,6.2L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,17.49)" id="shape817"><g clip-path="url(#clip83)"><path stroke-width="2" d="M14,0L14,8L0,0z" fill="url(#lg211)" stroke="url(#lg211)"/></g><g clip-path="url(#clip83)"><path stroke-width="2" d="M14,8L0,8L0,0z" fill="url(#lg212)" stroke="url(#lg212)"/></g><path d="M0,0L0,1.5L14,8L14,6.5L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.12,26.58)" id="shape818"><g clip-path="url(#clip84)"><path stroke-width="2" d="M13.8,0L13.8,7.8L0,0z" fill="url(#lg213)" stroke="url(#lg213)"/></g><g clip-path="url(#clip84)"><path stroke-width="2" d="M13.8,7.8L0,7.8L0,0z" fill="url(#lg214)" stroke="url(#lg214)"/></g><path d="M0,0L0,1.5L13.8,7.8L13.8,6.4L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(12.92,5.98)" id="shape819"><g clip-path="url(#clip85)"><path stroke-width="2" d="M12.5,0L12.5,6.7L0,0z" fill="url(#lg215)" stroke="url(#lg215)"/></g><g clip-path="url(#clip85)"><path stroke-width="2" d="M12.5,6.7L0,6.7L0,0z" fill="url(#lg216)" stroke="url(#lg216)"/></g><path d="M0,0L0,1.3L12.5,6.7L12.5,5.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.92,14.49)" id="shape820"><g clip-path="url(#clip86)"><path stroke-width="2" d="M12.6,0L12.6,7.2L0,0z" fill="url(#lg217)" stroke="url(#lg217)"/></g><g clip-path="url(#clip86)"><path stroke-width="2" d="M12.6,7.2L0,7.2L0,0z" fill="url(#lg218)" stroke="url(#lg218)"/></g><path d="M0,0L0,1.6L12.6,7.2L12.6,5.8L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.84,23.5)" id="shape821"><g clip-path="url(#clip87)"><path stroke-width="2" d="M12.7,0L12.7,7.1L0,0z" fill="url(#lg219)" stroke="url(#lg219)"/></g><g clip-path="url(#clip87)"><path stroke-width="2" d="M12.7,7.1L0,7.1L0,0z" fill="url(#lg220)" stroke="url(#lg220)"/></g><path d="M0,0L12.7,5.7L12.7,7.1L0,1.6L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.84,32.36)" id="shape822"><g clip-path="url(#clip88)"><path stroke-width="2" d="M12.7,7.3L0,7.3L12.7,0z" fill="url(#lg221)" stroke="url(#lg221)"/></g><g clip-path="url(#clip88)"><path stroke-width="2" d="M0,0L0,7.3L12.7,0z" fill="url(#lg222)" stroke="url(#lg222)"/></g><path d="M0,0L12.7,5.9L12.7,7.3L0,1.6L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(13.59,6.28)" d="M0,0L9.5,4.2L10.5,6.1L0,1.4L0,0z" id="shape823" fill="url(#lg23)"/><path transform="translate(13.43,14.64)" d="M0,0L9.4,4.3L10.5,6.5L.1,1.7L0,0z" id="shape824" fill="url(#lg23)"/><path transform="translate(13.55,23.77)" d="M0,0L9.5,4.2L10.5,6.3L0,1.6L0,0z" id="shape825" fill="url(#lg23)"/><path transform="translate(13.55,32.77)" d="M0,0L9.5,4.2L10.5,6.1L0,1.4L0,0z" id="shape826" fill="url(#lg24)"/><path transform="translate(13.55,32.77)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape827" fill="url(#lg177)"/><path transform="translate(13.73,23.73)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape828" fill="url(#lg178)"/><path transform="translate(13.76,14.9)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape829" fill="url(#lg178)"/><path transform="translate(13.76,6.16)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape830" fill="url(#lg178)"/></g></g><g transform="translate(37.82,56.37)"><path d="M0,0L0,27C0,30.2,5.3,32.7,11.8,32.7C18.3,32.7,23.6,30.2,23.6,27L23.6,0C23.6,3.1,18.3,5.7,11.8,5.7C5.3,5.7,0,3.1,0,0z" id="shape831" fill="url(#lg60)" stroke-opacity="0.4" stroke="#90a1c1"/><path transform="translate(0,-5.67)" d="M0,5.7C0,2.5,5.3,0,11.8,0C18.3,0,23.6,2.5,23.6,5.7C23.6,8.8,18.3,11.3,11.8,11.3C5.3,11.3,0,8.8,0,5.7z" id="shape832" fill="url(#lg223)" stroke-opacity="0.4" stroke="#90a1c1"/></g><text class="st65"><tspan y="105.6" x="3.3">redis集群</tspan></text></g><g transform="translate(631.94,648.9)"><g><path transform="translate(0.17,0)" d="M0,18L.5,16.8L40.3,0L67.2,6.9L26.3,33.8L0,18z" id="shape833" fill="url(#lg204)" stroke="#3a3a3a"/><path transform="translate(14.42,6.93)" d="M10.6,81.9L53.1,58.8L53.1,.8L11.2,19.8L0,53.6L10.6,81.9z" id="shape834" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,16.79)" d="M.8,0L24.7,9.4C25.3,9.6,25.5,10,25.6,10.3L25.6,71.3C25.6,71.8,25.2,72,24.7,72L.9,60.3C.2,60,.1,59.8,0,59.5L0,.8C0,.3,.4,0,.8,0z" id="shape835" fill="url(#lg2)" stroke="#424242"/><path transform="translate(22.98,6.36)" d="M0,19.4C1.8,20.1,2,20.1,3.3,21.2C4.1,21.9,4.4,23.8,4.4,23.8L44.5,1.7C44.5,1.7,44.7,.9,44.3,.6C44.1,.3,41.6,0,41.6,0L0,19.4z" id="shape836" fill="url(#lg205)"/><path transform="translate(22.75,25.56)" d="M-0,0C1.1,0,4.5,1.6,4.6,4.3C4.7,5.2,4.6,61.7,4.6,61.7C4.6,61.7,2.4,63.6,2.1,63.3C1.8,63,0,62.4,0,62.4L-0,0z" id="shape837" fill="url(#lg4)"/><path transform="translate(0.1,17.25)" d="M15.2,5.2L7.6,63.1L0,59.9L0,.2C0,.2,-0.2,-0.2,.9,.1L15.2,5.2z" id="shape838" fill="url(#lg206)"/><g transform="translate(0.06,24.44)"><g transform="translate(0.09,-0)" id="shape839"><g clip-path="url(#clip89)"><path stroke-width="2" d="M13.9,0L13.9,7.7L0,0z" fill="url(#lg224)" stroke="url(#lg224)"/></g><g clip-path="url(#clip89)"><path stroke-width="2" d="M13.9,7.7L0,7.7L0,0z" fill="url(#lg225)" stroke="url(#lg225)"/></g><path d="M0,0L0,1.3L13.9,7.7L13.9,6.4L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.09,8.71)" id="shape840"><g clip-path="url(#clip90)"><path stroke-width="2" d="M13.9,0L13.9,7.8L0,0z" fill="url(#lg226)" stroke="url(#lg226)"/></g><g clip-path="url(#clip90)"><path stroke-width="2" d="M13.9,7.8L0,7.8L0,0z" fill="url(#lg227)" stroke="url(#lg227)"/></g><path d="M0,0L0,1.4L13.9,7.8L13.9,6.2L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,17.49)" id="shape841"><g clip-path="url(#clip91)"><path stroke-width="2" d="M14,0L14,8L0,0z" fill="url(#lg228)" stroke="url(#lg228)"/></g><g clip-path="url(#clip91)"><path stroke-width="2" d="M14,8L0,8L0,0z" fill="url(#lg229)" stroke="url(#lg229)"/></g><path d="M0,0L0,1.5L14,8L14,6.5L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.12,26.58)" id="shape842"><g clip-path="url(#clip92)"><path stroke-width="2" d="M13.8,0L13.8,7.8L0,0z" fill="url(#lg230)" stroke="url(#lg230)"/></g><g clip-path="url(#clip92)"><path stroke-width="2" d="M13.8,7.8L0,7.8L0,0z" fill="url(#lg231)" stroke="url(#lg231)"/></g><path d="M0,0L0,1.5L13.8,7.8L13.8,6.4L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(12.92,5.98)" id="shape843"><g clip-path="url(#clip93)"><path stroke-width="2" d="M12.5,0L12.5,6.7L0,0z" fill="url(#lg232)" stroke="url(#lg232)"/></g><g clip-path="url(#clip93)"><path stroke-width="2" d="M12.5,6.7L0,6.7L0,0z" fill="url(#lg233)" stroke="url(#lg233)"/></g><path d="M0,0L0,1.3L12.5,6.7L12.5,5.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.92,14.49)" id="shape844"><g clip-path="url(#clip94)"><path stroke-width="2" d="M12.6,0L12.6,7.2L0,0z" fill="url(#lg234)" stroke="url(#lg234)"/></g><g clip-path="url(#clip94)"><path stroke-width="2" d="M12.6,7.2L0,7.2L0,0z" fill="url(#lg235)" stroke="url(#lg235)"/></g><path d="M0,0L0,1.6L12.6,7.2L12.6,5.8L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.84,23.5)" id="shape845"><g clip-path="url(#clip95)"><path stroke-width="2" d="M12.7,0L12.7,7.1L0,0z" fill="url(#lg236)" stroke="url(#lg236)"/></g><g clip-path="url(#clip95)"><path stroke-width="2" d="M12.7,7.1L0,7.1L0,0z" fill="url(#lg237)" stroke="url(#lg237)"/></g><path d="M0,0L12.7,5.7L12.7,7.1L0,1.6L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.84,32.36)" id="shape846"><g clip-path="url(#clip96)"><path stroke-width="2" d="M12.7,7.3L0,7.3L12.7,0z" fill="url(#lg238)" stroke="url(#lg238)"/></g><g clip-path="url(#clip96)"><path stroke-width="2" d="M0,0L0,7.3L12.7,0z" fill="url(#lg239)" stroke="url(#lg239)"/></g><path d="M0,0L12.7,5.9L12.7,7.3L0,1.6L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(13.59,6.28)" d="M0,0L9.5,4.2L10.5,6.1L0,1.4L0,0z" id="shape847" fill="url(#lg23)"/><path transform="translate(13.43,14.64)" d="M0,0L9.4,4.3L10.5,6.5L.1,1.7L0,0z" id="shape848" fill="url(#lg23)"/><path transform="translate(13.55,23.77)" d="M0,0L9.5,4.2L10.5,6.3L0,1.6L0,0z" id="shape849" fill="url(#lg23)"/><path transform="translate(13.55,32.77)" d="M0,0L9.5,4.2L10.5,6.1L0,1.4L0,0z" id="shape850" fill="url(#lg24)"/><path transform="translate(13.55,32.77)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape851" fill="url(#lg177)"/><path transform="translate(13.73,23.73)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape852" fill="url(#lg178)"/><path transform="translate(13.76,14.9)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape853" fill="url(#lg178)"/><path transform="translate(13.76,6.16)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape854" fill="url(#lg178)"/></g></g><g transform="translate(37.82,56.37)"><path d="M0,0L0,27C0,30.2,5.3,32.7,11.8,32.7C18.3,32.7,23.6,30.2,23.6,27L23.6,0C23.6,3.1,18.3,5.7,11.8,5.7C5.3,5.7,0,3.1,0,0z" id="shape855" fill="url(#lg60)" stroke-opacity="0.4" stroke="#90a1c1"/><path transform="translate(0,-5.67)" d="M0,5.7C0,2.5,5.3,0,11.8,0C18.3,0,23.6,2.5,23.6,5.7C23.6,8.8,18.3,11.3,11.8,11.3C5.3,11.3,0,8.8,0,5.7z" id="shape856" fill="url(#lg223)" stroke-opacity="0.4" stroke="#90a1c1"/></g><text class="st65"><tspan y="105.6" x="3.3">redis集群</tspan></text></g><g transform="translate(744.39,648.9)"><g><path transform="translate(0.17,0)" d="M0,18L.5,16.8L40.3,0L67.2,6.9L26.3,33.8L0,18z" id="shape857" fill="url(#lg204)" stroke="#3a3a3a"/><path transform="translate(14.42,6.93)" d="M10.6,81.9L53.1,58.8L53.1,.8L11.2,19.8L0,53.6L10.6,81.9z" id="shape858" fill="#414141" stroke="#414141"/><path transform="translate(-0.01,16.79)" d="M.8,0L24.7,9.4C25.3,9.6,25.5,10,25.6,10.3L25.6,71.3C25.6,71.8,25.2,72,24.7,72L.9,60.3C.2,60,.1,59.8,0,59.5L0,.8C0,.3,.4,0,.8,0z" id="shape859" fill="url(#lg2)" stroke="#424242"/><path transform="translate(22.98,6.36)" d="M0,19.4C1.8,20.1,2,20.1,3.3,21.2C4.1,21.9,4.4,23.8,4.4,23.8L44.5,1.7C44.5,1.7,44.7,.9,44.3,.6C44.1,.3,41.6,0,41.6,0L0,19.4z" id="shape860" fill="url(#lg205)"/><path transform="translate(22.75,25.56)" d="M-0,0C1.1,0,4.5,1.6,4.6,4.3C4.7,5.2,4.6,61.7,4.6,61.7C4.6,61.7,2.4,63.6,2.1,63.3C1.8,63,0,62.4,0,62.4L-0,0z" id="shape861" fill="url(#lg4)"/><path transform="translate(0.1,17.25)" d="M15.2,5.2L7.6,63.1L0,59.9L0,.2C0,.2,-0.2,-0.2,.9,.1L15.2,5.2z" id="shape862" fill="url(#lg206)"/><g transform="translate(0.06,24.44)"><g transform="translate(0.09,-0)" id="shape863"><g clip-path="url(#clip97)"><path stroke-width="2" d="M13.9,0L13.9,7.7L0,0z" fill="url(#lg240)" stroke="url(#lg240)"/></g><g clip-path="url(#clip97)"><path stroke-width="2" d="M13.9,7.7L0,7.7L0,0z" fill="url(#lg241)" stroke="url(#lg241)"/></g><path d="M0,0L0,1.3L13.9,7.7L13.9,6.4L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.09,8.71)" id="shape864"><g clip-path="url(#clip98)"><path stroke-width="2" d="M13.9,0L13.9,7.8L0,0z" fill="url(#lg242)" stroke="url(#lg242)"/></g><g clip-path="url(#clip98)"><path stroke-width="2" d="M13.9,7.8L0,7.8L0,0z" fill="url(#lg243)" stroke="url(#lg243)"/></g><path d="M0,0L0,1.4L13.9,7.8L13.9,6.2L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(-0,17.49)" id="shape865"><g clip-path="url(#clip99)"><path stroke-width="2" d="M14,0L14,8L0,0z" fill="url(#lg244)" stroke="url(#lg244)"/></g><g clip-path="url(#clip99)"><path stroke-width="2" d="M14,8L0,8L0,0z" fill="url(#lg245)" stroke="url(#lg245)"/></g><path d="M0,0L0,1.5L14,8L14,6.5L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(0.12,26.58)" id="shape866"><g clip-path="url(#clip100)"><path stroke-width="2" d="M13.8,0L13.8,7.8L0,0z" fill="url(#lg246)" stroke="url(#lg246)"/></g><g clip-path="url(#clip100)"><path stroke-width="2" d="M13.8,7.8L0,7.8L0,0z" fill="url(#lg247)" stroke="url(#lg247)"/></g><path d="M0,0L0,1.5L13.8,7.8L13.8,6.4L0,0z" fill="none" stroke="#292929"/></g><g transform="translate(12.92,5.98)" id="shape867"><g clip-path="url(#clip101)"><path stroke-width="2" d="M12.5,0L12.5,6.7L0,0z" fill="url(#lg248)" stroke="url(#lg248)"/></g><g clip-path="url(#clip101)"><path stroke-width="2" d="M12.5,6.7L0,6.7L0,0z" fill="url(#lg249)" stroke="url(#lg249)"/></g><path d="M0,0L0,1.3L12.5,6.7L12.5,5.5L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.92,14.49)" id="shape868"><g clip-path="url(#clip102)"><path stroke-width="2" d="M12.6,0L12.6,7.2L0,0z" fill="url(#lg250)" stroke="url(#lg250)"/></g><g clip-path="url(#clip102)"><path stroke-width="2" d="M12.6,7.2L0,7.2L0,0z" fill="url(#lg251)" stroke="url(#lg251)"/></g><path d="M0,0L0,1.6L12.6,7.2L12.6,5.8L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.84,23.5)" id="shape869"><g clip-path="url(#clip103)"><path stroke-width="2" d="M12.7,0L12.7,7.1L0,0z" fill="url(#lg252)" stroke="url(#lg252)"/></g><g clip-path="url(#clip103)"><path stroke-width="2" d="M12.7,7.1L0,7.1L0,0z" fill="url(#lg253)" stroke="url(#lg253)"/></g><path d="M0,0L12.7,5.7L12.7,7.1L0,1.6L0,0z" fill="none" stroke="url(#lg16)"/></g><g transform="translate(12.84,32.36)" id="shape870"><g clip-path="url(#clip104)"><path stroke-width="2" d="M12.7,7.3L0,7.3L12.7,0z" fill="url(#lg254)" stroke="url(#lg254)"/></g><g clip-path="url(#clip104)"><path stroke-width="2" d="M0,0L0,7.3L12.7,0z" fill="url(#lg255)" stroke="url(#lg255)"/></g><path d="M0,0L12.7,5.9L12.7,7.3L0,1.6L0,0z" fill="none" stroke="url(#lg16)"/></g><path transform="translate(13.59,6.28)" d="M0,0L9.5,4.2L10.5,6.1L0,1.4L0,0z" id="shape871" fill="url(#lg23)"/><path transform="translate(13.43,14.64)" d="M0,0L9.4,4.3L10.5,6.5L.1,1.7L0,0z" id="shape872" fill="url(#lg23)"/><path transform="translate(13.55,23.77)" d="M0,0L9.5,4.2L10.5,6.3L0,1.6L0,0z" id="shape873" fill="url(#lg23)"/><path transform="translate(13.55,32.77)" d="M0,0L9.5,4.2L10.5,6.1L0,1.4L0,0z" id="shape874" fill="url(#lg24)"/><path transform="translate(13.55,32.77)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape875" fill="url(#lg177)"/><path transform="translate(13.73,23.73)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape876" fill="url(#lg178)"/><path transform="translate(13.76,14.9)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape877" fill="url(#lg178)"/><path transform="translate(13.76,6.16)" d="M0,0L10.9,5.1L10.9,6.4L1.5,2.2L0,0z" id="shape878" fill="url(#lg178)"/></g></g><g transform="translate(37.82,56.37)"><path d="M0,0L0,27C0,30.2,5.3,32.7,11.8,32.7C18.3,32.7,23.6,30.2,23.6,27L23.6,0C23.6,3.1,18.3,5.7,11.8,5.7C5.3,5.7,0,3.1,0,0z" id="shape879" fill="url(#lg60)" stroke-opacity="0.4" stroke="#90a1c1"/><path transform="translate(0,-5.67)" d="M0,5.7C0,2.5,5.3,0,11.8,0C18.3,0,23.6,2.5,23.6,5.7C23.6,8.8,18.3,11.3,11.8,11.3C5.3,11.3,0,8.8,0,5.7z" id="shape880" fill="url(#lg223)" stroke-opacity="0.4" stroke="#90a1c1"/></g><text class="st65"><tspan y="105.6" x="3.3">redis集群</tspan></text></g><path transform="matrix(0,1,-1,0,799.5,606.1)" d="M0,0L18.9,0L18.9,265L0,265L0,0z" id="shape881" fill="#67b3ff"/><path transform="translate(497.48,397)" d="M0,0L0,177.1L169.5,177.1L169.5,209.1" id="shape882" fill="none" stroke="#000000" stroke-dasharray="2,5"/></svg></div>
        <div id="copyright">Powered by <a href="https://www.edrawsoft.com/" target="_blank" title="edrawsoft">Edraw Max</a></div>
      </div>
      <div id="navBar">
        <div id="nav-thumbs">
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">1</span>
              </span>
              <a href="#page1">
                <img src=""/>
              </a>
            </div>
            <p>ShiroConfig创建1</p>
          </div>
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">2</span>
              </span>
              <a href="#page2">
                <img src=""/>
              </a>
            </div>
            <p>ShiroConfig创建2</p>
          </div>
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">3</span>
              </span>
              <a href="#page3">
                <img src=""/>
              </a>
            </div>
            <p>ShiroConfig创建3</p>
          </div>
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">4</span>
              </span>
              <a href="#page4">
                <img src=""/>
              </a>
            </div>
            <p>认证与鉴权1</p>
          </div>
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">5</span>
              </span>
              <a href="#page5">
                <img src=""/>
              </a>
            </div>
            <p>认证与鉴权2</p>
          </div>
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">6</span>
              </span>
              <a href="#page6">
                <img src=""/>
              </a>
            </div>
            <p>认证与鉴权3</p>
          </div>
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">7</span>
              </span>
              <a href="#page7">
                <img src=""/>
              </a>
            </div>
            <p>shiro-gatway</p>
          </div>
          <div class="nav-thumb">
            <div>
              <span class="number">
                <span class="pagenum">8</span>
              </span>
              <a href="#page8">
                <img src=""/>
              </a>
            </div>
            <p>系统通讯</p>
          </div>
        </div>
      </div>
    </div>
    <script>
        const svgs=document.getElementById("svg-container").children;
        const UA=window.navigator.userAgent;
        const ua=(UA.indexOf('rv:11')+UA.indexOf('Firefox'))>=0;
        const svgcount=document.getElementById('svg-container').childElementCount;
        var styleArr=[];
        var heightArr=[];
        var navBar=document.getElementById('navBar');
        var conInfo=document.getElementById('content-info');
        for(var i=0;i<svgcount;i++){
            styleArr[i] = {width:svgs[i].getAttribute('width'),height:svgs[i].getAttribute('height')}
        }
        window.onresize=function () {
            renavstyle();
            resvgstyle();
        };
        window.onscroll=renavstyle;
        window.onload=function () {
            renavstyle();
            var sideWidth=navBar.offsetWidth;
            document.getElementById('content-info').style.marginRight=sideWidth+'px';
            document.getElementById('main-content').style.marginRight=sideWidth+'px';
            resvgstyle();
            doscroll();
        };
        function recontainstyle() {
            var topHeight=conInfo.clientHeight;
            var svgHeight=0;
            for(var i=0;i<svgcount;i++){
                heightArr[i]=svgs[i].getBoundingClientRect().height+10;
                svgHeight+=svgs[i].clientHeight ||svgs[i].getBoundingClientRect().height;
            }
            var fullHeight=svgHeight+Number(topHeight);
            if(fullHeight<window.innerHeight){
            document.getElementById('copyright').style.position='absolute';
            document.getElementById('copyright').style.transform ='translateX(-50%)';
            document.getElementById('main-content').style.position='absolute';
            document.getElementById('main-content').style.top=topHeight+'px';
        }else{
            document.getElementById('copyright').style.position='';
            document.getElementById('copyright').style.transform ='';
            document.getElementById('main-content').style.position='';
        }
        }
        function resvgstyle() {
            var sideWidth=navBar.offsetWidth+20;
            for(var i=0;i<svgcount;i++){
                var oriWidth = styleArr[i].width;
                var oriHeight = styleArr[i].height;
                var percent = oriHeight / oriWidth;
                var innerWidth=document.body.offsetWidth-sideWidth;
                if (innerWidth <= oriWidth) {
                    svgs[i].removeAttribute('width');
                    svgs[i].removeAttribute('height');
                    if (ua) {
                        svgs[i].setAttribute('height',innerWidth*percent);
                    }
                }else {
                    svgs[i].setAttribute('width', oriWidth);
                    svgs[i].setAttribute('height', oriHeight);
                }
            }
            recontainstyle();
        }
        function renavstyle() {
            var topHeight=conInfo.clientHeight;
            var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;
            if(scrollTop>topHeight){
                document.getElementById('navBar').style.top=0+'px';
            }else{
                document.getElementById('navBar').style.top=topHeight-scrollTop+'px';
            }
            doscroll();
        }
        function doscroll() {
            var topHeight=conInfo.clientHeight;
            var scrollTop=document.body.scrollTop||document.documentElement.scrollTop;
            for(var i=0;i<svgcount;i++){
                var sum=0;
                for(var j=0;j<=i;j++){
                    sum+=heightArr[j];
                }
                if(scrollTop+window.innerHeight/2-topHeight-sum<0){
                    var sub=Number(i)+1;
                    if(document.querySelector('#nav-thumbs .selected')){
                        document.querySelector('#nav-thumbs .selected').classList.remove('selected');
                    }
                    document.querySelector('.nav-thumb:nth-of-type('+sub+')').classList.add('selected');
                    break;
                }
            }
        }
        var navs=document.querySelectorAll('.nav-thumb');
        for(i=0;i<navs.length;i++){
            navs[i].children[0].onclick=function () {
                document.querySelector('#nav-thumbs .selected').classList.remove('selected');
                this.parentNode.classList.add('selected');
            }
        }
</script>
  </body>
</html>
